SlideShare uma empresa Scribd logo
1 de 30
Top Level Northwestern Pages Go
             Mobile
Need for Speed!

Why prioritize speed?
  * Data diets (almost… American like)
  * Bad reception situations (almost… Telephone like)
  * Slow networks (almost… Telegraph like)
  * Roaming data can be expensive
  * Network-starved regions
  * Speed is awesome
Need for Speed!

Why prioritize speed?
Students from the World

Why prioritize speed?
                                                               # of Foreign Students:
                                                                                2,426
                                                               Top Countries:
                                                                               China
                                                                        South Korea
                                                                                India
                                                                             Canada
                                                                              Taiwan




                        International Office Jan 2011 Report
Broadband Prices




“This… is a country. It’s a country we put a huge amount
of talent and money into… it’s a place where an 8mbps
home connection costs $160+ USD. No one seems to be
able to agree how to pronounce its name”.
Broadband Options




This slide intentionally left blank
HTTP and Web Browsers


To make performant websites, you really need to understand how the
browser and web server work, inside and out.

To me that’s like asking an astronaut to understand how the rocket
engine works, but whatever, we have to deal with it.

Besides, we’re better than astronauts.
HTTP and Web Browsers

Screwy rules

•   Javascript blocks (halts) processing of page
•   No more than N# HTTP requests per domain at any time
•   DNS lookups take time
•   ApplicationCache has same-origin restrictions
•   Redirects eat at least 300ms
•   Cellular Network and device configuration dictates radio power up/down
    thresholds
HTTP and Web Browsers
HTTP and Web Browsers




           Steve Souders, Google
HTTP and Web Browsers

Microframeworks not Frameworks.

Everyone uses jQuery! I’ll just use the jQuery CDN and no one will have to
download a thing.

Wrong.




                                                             Yahoo User Interface Blog
                     http://www.yuiblog.com/blog/2010/06/28/mobile-browser-cache-limits/
Frameworks

jQuery “Mobile”, only 24KB!

Doesn’t count the jQuery dependency @ 31KB.

Other frameworks:
    * Sencha Touch
    * jqTouch
    *…




                                                                        Yahoo User Interface Blog
                                http://www.yuiblog.com/blog/2010/06/28/mobile-browser-cache-limits/
Frameworks

Alternatives are available. Open directory at
microjs.com.

I prefer Zepto.js. Why?

It’s 5KB and packs a huge punch.

It is jQuery-compatible.

It targets webkit only, saves on speed & size.

You can serve it to mobiles and serve jQuery
to desktops (IE, Firefox) & others instead if
need be.
Frameworks

“The future is getting better, so none of this matters!”




                                                                       Yahoo User Interface Blog
                               http://www.yuiblog.com/blog/2010/06/28/mobile-browser-cache-limits/
Frameworks

“The future is getting better, so none of this matters!”
            Nov 15 2010                                               Oct 15 2011




                                                                                The HTTP Archive
                    http://httparchive.org/compare.php?&r1=Nov%2015%202010&s1=intersection&r2=Aug
                                                                    %2015%202011&s2=intersection
HTML5
Quick Tour
CSS Animation
CSS3

FLEXBOX LAYOUT!
.column-in-thirds {                          Instead:
     width:                                  .column-in-equals {
33.33333333333333333333333333333                 -webkit-flex: 1;
3%;                                          }
}

                                             Hocus-pocus set and forget
.column-in-thirds {
                                             equal-width elements.
     border: 2px solid purplepride;
     padding: not-ugly-padding;
     width: uhhhhhh
}
CSS3




Flexbox is the Advil of Front-end Design
HTML5 Markup

USE IT NOW!

Many new elements and attributes for existing elements
• <audio>, <video>
• HTML Forms
  (input@autocomplete, input@autocapitalize, input@autocorr
  ect)
Application Cache

Tell the browser “give me some disk space and put these files on
it, then keep them there and use them until I tell you otherwise.”

Yourapp.appcache – manifest of files
   /css/style.css
   /js/wowee.js
HTTP Headers

Spend time configuring eTags and Expires headers carefully for
CSS, JS, etc.

Can be an alternative to AppCache.
First-time Visitor. 10 SECONDS!?


 According to Yahoo!'s Exceptional
 Performance Team, 40% to 60% of
 Yahoo!'s users have an empty cache
 experience and about 20% of all page
 views are done with an empty cache.
First-time Visitor. 10 SECONDS!?


35+ CSS files waited for connections




Combine these into one file by hand or using server-side scripts.
Use a CSS compressor.
First-time Visitor. 10 SECONDS!?


Compress and minify your Javascript as well, and
defer loading it until absolutely necessary. Paint a
screen for folks as fast as possible and load Javascript
to handle your interaction afterward.

It took 6.11 seconds just to paint anything on the
screen for this site and another 2.2 seconds to finish
downloading Javascript files.

Finally, images took another 1.5 seconds.

On a desktop computer.
First-time Visitor. 10 SECONDS!?


Images are usually the last thing to get loaded by the
browser from the network. Consider “sprite”-ing your
design/template images. That is, put them into a single
large image file and use CSS positioning rules to
move the viewable “window” that is the height and
width of your element to the right place on the gigantic
background image.
Second-time Visitor




Browser cache is not a free pass.

We didn’t transfer nearly as much data (82KB vs 1.2MB), but we STILL
had to spend a ton of time sending the last date we fetched each CSS
file up to the server and waiting for it to tell us if it had a newer copy we
needed to download.
Wrap-up

 HTML5: form inputs, caching

 CSS3: animations, layout

 Minify and combine CSS

 Minify and combine Javascript

 Defer Javascript until later

 Users hate slow sites

 Servers hate slow sites

 Google hates slow sites

Mais conteúdo relacionado

Mais procurados

Sniffing the Mobile Context
Sniffing the Mobile ContextSniffing the Mobile Context
Sniffing the Mobile ContextAndy Davies
 
Introduction to jQuery Mobile
Introduction to jQuery MobileIntroduction to jQuery Mobile
Introduction to jQuery Mobileejlp12
 
Introduction to the jQuery mobile framework
Introduction to the jQuery mobile frameworkIntroduction to the jQuery mobile framework
Introduction to the jQuery mobile frameworkRishabh Rao
 
Mobile Web Performance - Getting and Staying Fast
Mobile Web Performance -  Getting and Staying FastMobile Web Performance -  Getting and Staying Fast
Mobile Web Performance - Getting and Staying FastAndy Davies
 
Word Press to the Rescue_Poster
Word Press to the Rescue_PosterWord Press to the Rescue_Poster
Word Press to the Rescue_PosterNCLA2011
 
From Joomla to Blogs: Giving your website a refreshing new look
From Joomla to Blogs: Giving your website a refreshing new lookFrom Joomla to Blogs: Giving your website a refreshing new look
From Joomla to Blogs: Giving your website a refreshing new lookCurtis Rogers, MLIS, EdD
 
Web Page Test - Beyond the Basics
Web Page Test - Beyond the BasicsWeb Page Test - Beyond the Basics
Web Page Test - Beyond the BasicsAndy Davies
 
Speed is Essential for a Great Web Experience
Speed is Essential for a Great Web ExperienceSpeed is Essential for a Great Web Experience
Speed is Essential for a Great Web ExperienceAndy Davies
 
Why Python Web Frameworks Are Changing the Web
Why Python Web Frameworks Are Changing the WebWhy Python Web Frameworks Are Changing the Web
Why Python Web Frameworks Are Changing the Webjoelburton
 
jQuery Conference Chicago - September 2014
jQuery Conference Chicago - September 2014jQuery Conference Chicago - September 2014
jQuery Conference Chicago - September 2014dmethvin
 
Passing a Front end Developer interview
Passing a Front end Developer interview Passing a Front end Developer interview
Passing a Front end Developer interview tonyfarnsworth
 
Introduction to jquery mobile with Phonegap
Introduction to jquery mobile with PhonegapIntroduction to jquery mobile with Phonegap
Introduction to jquery mobile with PhonegapRakesh Jha
 
The web is too slow
The web is too slow The web is too slow
The web is too slow Andy Davies
 
Making Mobile Sites Faster
Making Mobile Sites FasterMaking Mobile Sites Faster
Making Mobile Sites FasterAndy Davies
 
Christmas Trees Made with HTML CSS and JS
Christmas Trees Made with HTML CSS and JSChristmas Trees Made with HTML CSS and JS
Christmas Trees Made with HTML CSS and JSNiamh Foley
 
What does the browser pre-loader do?
What does the browser pre-loader do?What does the browser pre-loader do?
What does the browser pre-loader do?Andy Davies
 
Moving from Web 1.0 to Web 2.0
Moving from Web 1.0 to Web 2.0Moving from Web 1.0 to Web 2.0
Moving from Web 1.0 to Web 2.0Estelle Weyl
 
jQuery Mobile: Progressive Enhancement with HTML5
jQuery Mobile: Progressive Enhancement with HTML5jQuery Mobile: Progressive Enhancement with HTML5
jQuery Mobile: Progressive Enhancement with HTML5Todd Anderson
 

Mais procurados (20)

Sniffing the Mobile Context
Sniffing the Mobile ContextSniffing the Mobile Context
Sniffing the Mobile Context
 
Introduction to jQuery Mobile
Introduction to jQuery MobileIntroduction to jQuery Mobile
Introduction to jQuery Mobile
 
Introduction to the jQuery mobile framework
Introduction to the jQuery mobile frameworkIntroduction to the jQuery mobile framework
Introduction to the jQuery mobile framework
 
Mobile Web Performance - Getting and Staying Fast
Mobile Web Performance -  Getting and Staying FastMobile Web Performance -  Getting and Staying Fast
Mobile Web Performance - Getting and Staying Fast
 
Word Press to the Rescue_Poster
Word Press to the Rescue_PosterWord Press to the Rescue_Poster
Word Press to the Rescue_Poster
 
From Joomla to Blogs: Giving your website a refreshing new look
From Joomla to Blogs: Giving your website a refreshing new lookFrom Joomla to Blogs: Giving your website a refreshing new look
From Joomla to Blogs: Giving your website a refreshing new look
 
What is jQuery?
What is jQuery?What is jQuery?
What is jQuery?
 
Web Page Test - Beyond the Basics
Web Page Test - Beyond the BasicsWeb Page Test - Beyond the Basics
Web Page Test - Beyond the Basics
 
Speed is Essential for a Great Web Experience
Speed is Essential for a Great Web ExperienceSpeed is Essential for a Great Web Experience
Speed is Essential for a Great Web Experience
 
Why Python Web Frameworks Are Changing the Web
Why Python Web Frameworks Are Changing the WebWhy Python Web Frameworks Are Changing the Web
Why Python Web Frameworks Are Changing the Web
 
jQuery Conference Chicago - September 2014
jQuery Conference Chicago - September 2014jQuery Conference Chicago - September 2014
jQuery Conference Chicago - September 2014
 
Jquery mobile
Jquery mobileJquery mobile
Jquery mobile
 
Passing a Front end Developer interview
Passing a Front end Developer interview Passing a Front end Developer interview
Passing a Front end Developer interview
 
Introduction to jquery mobile with Phonegap
Introduction to jquery mobile with PhonegapIntroduction to jquery mobile with Phonegap
Introduction to jquery mobile with Phonegap
 
The web is too slow
The web is too slow The web is too slow
The web is too slow
 
Making Mobile Sites Faster
Making Mobile Sites FasterMaking Mobile Sites Faster
Making Mobile Sites Faster
 
Christmas Trees Made with HTML CSS and JS
Christmas Trees Made with HTML CSS and JSChristmas Trees Made with HTML CSS and JS
Christmas Trees Made with HTML CSS and JS
 
What does the browser pre-loader do?
What does the browser pre-loader do?What does the browser pre-loader do?
What does the browser pre-loader do?
 
Moving from Web 1.0 to Web 2.0
Moving from Web 1.0 to Web 2.0Moving from Web 1.0 to Web 2.0
Moving from Web 1.0 to Web 2.0
 
jQuery Mobile: Progressive Enhancement with HTML5
jQuery Mobile: Progressive Enhancement with HTML5jQuery Mobile: Progressive Enhancement with HTML5
jQuery Mobile: Progressive Enhancement with HTML5
 

Destaque (17)

Mac
MacMac
Mac
 
360 Entrepreneurship
360 Entrepreneurship360 Entrepreneurship
360 Entrepreneurship
 
Here Today, Here Tomorrow: Mobile Devices - Northwestern University Web Steer...
Here Today, Here Tomorrow: Mobile Devices - Northwestern University Web Steer...Here Today, Here Tomorrow: Mobile Devices - Northwestern University Web Steer...
Here Today, Here Tomorrow: Mobile Devices - Northwestern University Web Steer...
 
Destinee ‘s history
Destinee ‘s historyDestinee ‘s history
Destinee ‘s history
 
Chuyen tinh lang man
Chuyen tinh lang manChuyen tinh lang man
Chuyen tinh lang man
 
ChairmanMaoProject
ChairmanMaoProjectChairmanMaoProject
ChairmanMaoProject
 
Automated testing 101
Automated testing 101Automated testing 101
Automated testing 101
 
Crowdfunding Starter Pitch
Crowdfunding Starter PitchCrowdfunding Starter Pitch
Crowdfunding Starter Pitch
 
Profiler pres
Profiler presProfiler pres
Profiler pres
 
Crowdfunding Investment Planner
Crowdfunding Investment PlannerCrowdfunding Investment Planner
Crowdfunding Investment Planner
 
Adoption cycle
Adoption cycleAdoption cycle
Adoption cycle
 
Business Model Canvas
Business Model CanvasBusiness Model Canvas
Business Model Canvas
 
How We Value Arts and Culture: John Holden
How We Value Arts and Culture: John HoldenHow We Value Arts and Culture: John Holden
How We Value Arts and Culture: John Holden
 
Ice-breaker Exercises
Ice-breaker ExercisesIce-breaker Exercises
Ice-breaker Exercises
 
Cultural Web
Cultural WebCultural Web
Cultural Web
 
Qualitative Versus Quantitative
Qualitative Versus QuantitativeQualitative Versus Quantitative
Qualitative Versus Quantitative
 
Business models
Business modelsBusiness models
Business models
 

Semelhante a NU Web Steering Committee - Oct 11 - Web Performance

Faster Frontends
Faster FrontendsFaster Frontends
Faster FrontendsAndy Davies
 
PrairieDevCon 2014 - Web Doesn't Mean Slow
PrairieDevCon 2014 -  Web Doesn't Mean SlowPrairieDevCon 2014 -  Web Doesn't Mean Slow
PrairieDevCon 2014 - Web Doesn't Mean Slowdmethvin
 
LA RubyConf 2009 Waves And Resource-Oriented Architecture
LA RubyConf 2009 Waves And Resource-Oriented ArchitectureLA RubyConf 2009 Waves And Resource-Oriented Architecture
LA RubyConf 2009 Waves And Resource-Oriented ArchitectureDan Yoder
 
Velocity EU: Give Responsive Design a Mobile Performance Boost
Velocity EU: Give Responsive Design a Mobile Performance BoostVelocity EU: Give Responsive Design a Mobile Performance Boost
Velocity EU: Give Responsive Design a Mobile Performance BoostJon Arne Sæterås
 
Optimization of modern web applications
Optimization of modern web applicationsOptimization of modern web applications
Optimization of modern web applicationsEugene Lazutkin
 
Image-ine That: Image Optimization for Conversion Maximization
Image-ine That: Image Optimization for Conversion MaximizationImage-ine That: Image Optimization for Conversion Maximization
Image-ine That: Image Optimization for Conversion MaximizationYottaa
 
Cvcc performance tuning
Cvcc performance tuningCvcc performance tuning
Cvcc performance tuningJohn McCaffrey
 
Developing for the mobile web
Developing for the mobile webDeveloping for the mobile web
Developing for the mobile webjoeysim
 
Jon Arne Sæterås - Give Responsive Design a mobile performance boost
Jon Arne Sæterås - Give Responsive Design a mobile performance boost Jon Arne Sæterås - Give Responsive Design a mobile performance boost
Jon Arne Sæterås - Give Responsive Design a mobile performance boost DevConFu
 
Workshop HTML5+PhoneGap by Ivano Malavolta
Workshop HTML5+PhoneGap by Ivano Malavolta Workshop HTML5+PhoneGap by Ivano Malavolta
Workshop HTML5+PhoneGap by Ivano Malavolta Commit University
 
Stefan Judis "Did we(b development) lose the right direction?"
Stefan Judis "Did we(b development) lose the right direction?"Stefan Judis "Did we(b development) lose the right direction?"
Stefan Judis "Did we(b development) lose the right direction?"Fwdays
 
HTML5: the new frontier of the web
HTML5: the new frontier of the webHTML5: the new frontier of the web
HTML5: the new frontier of the webIvano Malavolta
 
Bruce lawson-over-the-air
Bruce lawson-over-the-airBruce lawson-over-the-air
Bruce lawson-over-the-airbrucelawson
 
That's Web? Extreme Optimization for the Mobile Web (Oct 2012)
That's Web? Extreme Optimization for the Mobile Web (Oct 2012)That's Web? Extreme Optimization for the Mobile Web (Oct 2012)
That's Web? Extreme Optimization for the Mobile Web (Oct 2012)Glan Thomas
 
Mobile Web Apps Overview
Mobile Web Apps OverviewMobile Web Apps Overview
Mobile Web Apps OverviewRamon Victor
 
Don't touch the mobile parts
Don't touch the mobile partsDon't touch the mobile parts
Don't touch the mobile partsFrancesco Fullone
 

Semelhante a NU Web Steering Committee - Oct 11 - Web Performance (20)

Faster Frontends
Faster FrontendsFaster Frontends
Faster Frontends
 
PrairieDevCon 2014 - Web Doesn't Mean Slow
PrairieDevCon 2014 -  Web Doesn't Mean SlowPrairieDevCon 2014 -  Web Doesn't Mean Slow
PrairieDevCon 2014 - Web Doesn't Mean Slow
 
LA RubyConf 2009 Waves And Resource-Oriented Architecture
LA RubyConf 2009 Waves And Resource-Oriented ArchitectureLA RubyConf 2009 Waves And Resource-Oriented Architecture
LA RubyConf 2009 Waves And Resource-Oriented Architecture
 
Velocity EU: Give Responsive Design a Mobile Performance Boost
Velocity EU: Give Responsive Design a Mobile Performance BoostVelocity EU: Give Responsive Design a Mobile Performance Boost
Velocity EU: Give Responsive Design a Mobile Performance Boost
 
Optimization of modern web applications
Optimization of modern web applicationsOptimization of modern web applications
Optimization of modern web applications
 
Image-ine That: Image Optimization for Conversion Maximization
Image-ine That: Image Optimization for Conversion MaximizationImage-ine That: Image Optimization for Conversion Maximization
Image-ine That: Image Optimization for Conversion Maximization
 
Cvcc performance tuning
Cvcc performance tuningCvcc performance tuning
Cvcc performance tuning
 
Developing for the mobile web
Developing for the mobile webDeveloping for the mobile web
Developing for the mobile web
 
Jon Arne Sæterås - Give Responsive Design a mobile performance boost
Jon Arne Sæterås - Give Responsive Design a mobile performance boost Jon Arne Sæterås - Give Responsive Design a mobile performance boost
Jon Arne Sæterås - Give Responsive Design a mobile performance boost
 
Modern Web Applications
Modern Web ApplicationsModern Web Applications
Modern Web Applications
 
Workshop HTML5+PhoneGap by Ivano Malavolta
Workshop HTML5+PhoneGap by Ivano Malavolta Workshop HTML5+PhoneGap by Ivano Malavolta
Workshop HTML5+PhoneGap by Ivano Malavolta
 
Mobile Web
Mobile WebMobile Web
Mobile Web
 
Stefan Judis "Did we(b development) lose the right direction?"
Stefan Judis "Did we(b development) lose the right direction?"Stefan Judis "Did we(b development) lose the right direction?"
Stefan Judis "Did we(b development) lose the right direction?"
 
HTML5: the new frontier of the web
HTML5: the new frontier of the webHTML5: the new frontier of the web
HTML5: the new frontier of the web
 
Bruce lawson-over-the-air
Bruce lawson-over-the-airBruce lawson-over-the-air
Bruce lawson-over-the-air
 
Mobile web performance dwx13
Mobile web performance dwx13Mobile web performance dwx13
Mobile web performance dwx13
 
That's Web? Extreme Optimization for the Mobile Web (Oct 2012)
That's Web? Extreme Optimization for the Mobile Web (Oct 2012)That's Web? Extreme Optimization for the Mobile Web (Oct 2012)
That's Web? Extreme Optimization for the Mobile Web (Oct 2012)
 
Mobile Web Apps Overview
Mobile Web Apps OverviewMobile Web Apps Overview
Mobile Web Apps Overview
 
State of the Web
State of the WebState of the Web
State of the Web
 
Don't touch the mobile parts
Don't touch the mobile partsDon't touch the mobile parts
Don't touch the mobile parts
 

Último

Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
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 AutomationSafe Software
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
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 RobisonAnna Loughnan Colquhoun
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
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 2024The Digital Insurer
 

Último (20)

Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
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
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
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
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
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
 

NU Web Steering Committee - Oct 11 - Web Performance

  • 1. Top Level Northwestern Pages Go Mobile
  • 2. Need for Speed! Why prioritize speed? * Data diets (almost… American like) * Bad reception situations (almost… Telephone like) * Slow networks (almost… Telegraph like) * Roaming data can be expensive * Network-starved regions * Speed is awesome
  • 3. Need for Speed! Why prioritize speed?
  • 4. Students from the World Why prioritize speed? # of Foreign Students: 2,426 Top Countries: China South Korea India Canada Taiwan International Office Jan 2011 Report
  • 5. Broadband Prices “This… is a country. It’s a country we put a huge amount of talent and money into… it’s a place where an 8mbps home connection costs $160+ USD. No one seems to be able to agree how to pronounce its name”.
  • 6. Broadband Options This slide intentionally left blank
  • 7. HTTP and Web Browsers To make performant websites, you really need to understand how the browser and web server work, inside and out. To me that’s like asking an astronaut to understand how the rocket engine works, but whatever, we have to deal with it. Besides, we’re better than astronauts.
  • 8. HTTP and Web Browsers Screwy rules • Javascript blocks (halts) processing of page • No more than N# HTTP requests per domain at any time • DNS lookups take time • ApplicationCache has same-origin restrictions • Redirects eat at least 300ms • Cellular Network and device configuration dictates radio power up/down thresholds
  • 9. HTTP and Web Browsers
  • 10. HTTP and Web Browsers Steve Souders, Google
  • 11. HTTP and Web Browsers Microframeworks not Frameworks. Everyone uses jQuery! I’ll just use the jQuery CDN and no one will have to download a thing. Wrong. Yahoo User Interface Blog http://www.yuiblog.com/blog/2010/06/28/mobile-browser-cache-limits/
  • 12. Frameworks jQuery “Mobile”, only 24KB! Doesn’t count the jQuery dependency @ 31KB. Other frameworks: * Sencha Touch * jqTouch *… Yahoo User Interface Blog http://www.yuiblog.com/blog/2010/06/28/mobile-browser-cache-limits/
  • 13. Frameworks Alternatives are available. Open directory at microjs.com. I prefer Zepto.js. Why? It’s 5KB and packs a huge punch. It is jQuery-compatible. It targets webkit only, saves on speed & size. You can serve it to mobiles and serve jQuery to desktops (IE, Firefox) & others instead if need be.
  • 14. Frameworks “The future is getting better, so none of this matters!” Yahoo User Interface Blog http://www.yuiblog.com/blog/2010/06/28/mobile-browser-cache-limits/
  • 15. Frameworks “The future is getting better, so none of this matters!” Nov 15 2010 Oct 15 2011 The HTTP Archive http://httparchive.org/compare.php?&r1=Nov%2015%202010&s1=intersection&r2=Aug %2015%202011&s2=intersection
  • 16. HTML5
  • 19. CSS3 FLEXBOX LAYOUT! .column-in-thirds { Instead: width: .column-in-equals { 33.33333333333333333333333333333 -webkit-flex: 1; 3%; } } Hocus-pocus set and forget .column-in-thirds { equal-width elements. border: 2px solid purplepride; padding: not-ugly-padding; width: uhhhhhh }
  • 20. CSS3 Flexbox is the Advil of Front-end Design
  • 21. HTML5 Markup USE IT NOW! Many new elements and attributes for existing elements • <audio>, <video> • HTML Forms (input@autocomplete, input@autocapitalize, input@autocorr ect)
  • 22. Application Cache Tell the browser “give me some disk space and put these files on it, then keep them there and use them until I tell you otherwise.” Yourapp.appcache – manifest of files /css/style.css /js/wowee.js
  • 23. HTTP Headers Spend time configuring eTags and Expires headers carefully for CSS, JS, etc. Can be an alternative to AppCache.
  • 24.
  • 25. First-time Visitor. 10 SECONDS!? According to Yahoo!'s Exceptional Performance Team, 40% to 60% of Yahoo!'s users have an empty cache experience and about 20% of all page views are done with an empty cache.
  • 26. First-time Visitor. 10 SECONDS!? 35+ CSS files waited for connections Combine these into one file by hand or using server-side scripts. Use a CSS compressor.
  • 27. First-time Visitor. 10 SECONDS!? Compress and minify your Javascript as well, and defer loading it until absolutely necessary. Paint a screen for folks as fast as possible and load Javascript to handle your interaction afterward. It took 6.11 seconds just to paint anything on the screen for this site and another 2.2 seconds to finish downloading Javascript files. Finally, images took another 1.5 seconds. On a desktop computer.
  • 28. First-time Visitor. 10 SECONDS!? Images are usually the last thing to get loaded by the browser from the network. Consider “sprite”-ing your design/template images. That is, put them into a single large image file and use CSS positioning rules to move the viewable “window” that is the height and width of your element to the right place on the gigantic background image.
  • 29. Second-time Visitor Browser cache is not a free pass. We didn’t transfer nearly as much data (82KB vs 1.2MB), but we STILL had to spend a ton of time sending the last date we fetched each CSS file up to the server and waiting for it to tell us if it had a newer copy we needed to download.
  • 30. Wrap-up  HTML5: form inputs, caching  CSS3: animations, layout  Minify and combine CSS  Minify and combine Javascript  Defer Javascript until later  Users hate slow sites  Servers hate slow sites  Google hates slow sites

Notas do Editor

  1. Story about “Dean”, ananonymized person working in Qatar who lived in a building with poor wiring and some kind of slow connection (can’t remember – satellite or just bad DSL?)
  2. You just don’t know what your user’s bandwidth or network access will be.
  3. Paul Rouget went to Taiwan and found that pretty much everyone there was using a phone or tablet all the time.Chinese websites work on Opera. Opera is a safe way to browse the web when you are in Asia. Opera works for any websites, on any phones;they are present on feature phones;they are in &quot;the places to be&quot;, talking to OEMs, and being actively present at all the web-related events. They were giving talks at COSCUP (an Open Source conference. Opera is not Open Source at all);Android devices are sold with Opera.
  4. Cell network data radio configuration greatly affects battery life, while on one hand keeping the radio on full power definitely helps you load pages faster, it eats through the battery at a fairly high, constant rate while active. The problem is, once the radio goes back into sleeping mode, it can take as much as 3 seconds for it to power up again and download a simple image. AT&amp;T is the worst of these.
  5. Cell network data radio configuration greatly affects battery life, while on one hand keeping the radio on full power definitely helps you load pages faster, it eats through the battery at a fairly high, constant rate while active. The problem is, once the radio goes back into sleeping mode, it can take as much as 3 seconds for it to power up again and download a simple image. AT&amp;T is the worst of these.
  6. Cell network data radio configuration greatly affects battery life, while on one hand keeping the radio on full power definitely helps you load pages faster, it eats through the battery at a fairly high, constant rate while active. The problem is, once the radio goes back into sleeping mode, it can take as much as 3 seconds for it to power up again and download a simple image. AT&amp;T has the worst configuration in regard to this aspect of performance in the U.S.
  7. There’s no disk cache in iOS. Just a memory cache. Whoops.jQuery isn’t a mobile version of jQuery, it’sbasically a giant jQuery “plugin” – at 31KB of jQuery + 24KB of jQuery Mobile, that’s a lot of Javascript. That doesn’t even count the jQuery Mobile CSS and images.
  8. jQuery isn’t a mobile version of jQuery, it’sbasically a giant jQuery “plugin” – at 31KB of jQuery + 24KB of jQuery Mobile, that’s a lot of Javascript. That doesn’t even count the jQuery Mobile CSS and images.
  9. And if you change your mind while using Zepto, you can just go for broke and drop in jQuery without having to rewrite any of your application-specific code.Most of these frameworks try to emulate another framework in syntax. The objective isn’t to re-invent syntax, it’s to save on network and memory resources.
  10. You might look at the progression in iOS and Android and think “okay, they’re working on it, it’ll be fine.”
  11. 50% growth in JS size alone. This cannot be ignored. It seems obvious that our applications grow ever-more complex, but in case your brain is off right now, here’s some evidence. NB, to be fair, these graphs analyze all sites in the http archive, not just mobile sites.For the Javascript average to increase almost 30K means that the actual size of some of these scripts is much larger than that. This could be partially attributed to the proliferation of those nasty Twitter and Facebook buttons.
  12. Enter HTML5
  13. CSS Animation! By changing the class on DOM nodes dynamically using JS, these elements animate according to the CSS properties I’ve specified. Finally, animation is where it belongs, in the presentation layer. You can do everything with this that you can with JS animation and more. And on many devices, it’s hardware-accelerated.Used in the expanding functionality for the NU Home Page
  14. In the border-box model, borders affect the width of an element and this “clean” percentage based width no longer works. At all. You’ll probably see line-wrapping.CSS layout has been about print, magazines, lots of text. Until the last couple of years it’s never been about the things we’ve actually been building in web browsers but spec designers are finally waking up.Important limitation: doesn’t work on HTML input elements (but what does!? Argh) – need to wrap these in nonsemantic elements that are flexed.
  15. In the border-box model, borders affect the width of an element and this “clean” percentage based width no longer works. At all. You’ll probably see line-wrapping.Important limitation: doesn’t work on HTML input elements (but what does!? Argh) – need to wrap these in nonsemantic elements that are flexed.
  16. The new input forms are great on mobile devices, since they have so much assistive technology. It allows you to disable the assistive technology. These are listed in order of most-useful. Autocapitalize=off is mostly an aesthetic thing.
  17. Two benefits. One: you can cache things that don’t change often, like your CSS and Javascript. Two: you can have OFFLINE applications!Be creative with this. You can cache HTML files.Completely blows away the HTTP connection limits and network round trip time issues for subsequent accesses.We’re using this for our prototype shuttle timetable system so that folks can “download” an easy to read timetable on their iPod or iPad tablet in addition to their phones when they have no internet access.
  18. Two benefits. One: you can cache things that don’t change often, like your CSS and Javascript. Two: you can have OFFLINE applications!Be creative with this. You can cache HTML files.Completely blows away the HTTP connection limits and network round trip time issues for subsequent accesses.We’re using this for our prototype shuttle timetable system so that folks can “download” an easy to read timetable on their iPod or iPad tablet in addition to their phones when they have no internet access.
  19. A reminder to apply these principles to your desktop applications too. Performance matters everywhere. This web server gets slammed with 35+ requests for just the CSS files attached to the page, not to mention images and javascript and so on. Woah. Drupal for the win!I lost count of the number of CSS files this page needs.
  20. There were a ton of comments all over this CSS file that the browser doesn’t need.
  21. There were a ton of comments all over this CSS file that the browser doesn’t need.30k less data to transfer and Nx~250ms waits less for this page to load.
  22. There were a ton of comments all over this CSS file that the browser doesn’t need.
  23. There were a ton of comments all over this CSS file that the browser doesn’t need.
  24. We didn’t transfer nearly as much data, but we STILL had to spend a ton of time sending the last date we fetched each CSS file up to the server and waiting for it to tell us if it had a newer copy we needed to download.
  25. We didn’t transfer nearly as much data, but we STILL had to spend a ton of time sending the last date we fetched each CSS file up to the server and waiting for it to tell us if it had a newer copy we needed to download.