Are Today's Good Practices… Tomorrow's Performance Anti-PatternsAndy Davies
The document discusses how current web performance optimization practices may become obsolete or anti-patterns with new web technologies like HTTP/2 and SPDY. It summarizes results of tests comparing HTTP/1.1 to SPDY, finding that SPDY is faster with minimal optimizations. The document also examines how practices like sharding assets and inline JavaScript may not work as expected or introduce new issues with these protocols. It recommends starting to experiment now with tools like mod_pagespeed and mod_spdy to understand the effects of new technologies on performance best practices.
Are Today’s Good Practices... Tomorrow’s Performance Anti-Patterns?Andy Davies
The web is ever changing… browsers are evolving, new protocols are emerging and mobile continues its relentless rise. We’re already starting to bend some of the original performance rules and as the web changes further will our current good practices last, or will some become barriers that hinder performance?
Slides from my Ignite (20 slides, auto-advancing every 15 secs) talk at WebPerfDays, Mountain View.
Not sure they will make sense standalone but talk was recorded and will be available at some point.
Would also like to work this up into a longer talk at some point.
The document discusses ways to improve website performance by reducing page load times. It identifies several factors that affect performance like request size, response size, number of components, and bandwidth. It then provides recommendations to shrink the response size through compression and optimization, reduce the number of requests by merging files, and minimize third-party scripts when possible. Specific techniques mentioned include minifying assets, using content delivery networks, browser caching, and tools for testing and monitoring performance.
The document discusses strategies for making mobile websites faster, including optimizing images, caching resources, minimizing redirects, leveraging new HTML elements like <picture>, compressing files, and ensuring smooth performance after page load. It emphasizes the importance of measuring site performance and adapting delivery based on network conditions and device capabilities.
Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?Andy Davies
This document discusses how performance best practices may become anti-patterns as technologies evolve. It explores how techniques like data URIs, domain sharding, and CSS sprites could be negatively impacted by new protocols like SPDY. The author advocates experimenting with modern tools like mod_pagespeed to test different optimizations under various conditions and sharing results. Continued improvement of debugging tools is also important to help evaluate new approaches as the network landscape changes. Overall, the message is that situational optimization will become more important over rigid rules as complexity increases.
Web Performance Workshop - Velocity London 2013Andy Davies
The document summarizes a hands-on web performance workshop. It discusses tools and techniques that will be covered, including live analysis of websites. Attendees are encouraged to ask questions and suggest sites to test. Various tools for performance testing like PhantomJS, Phantomas, and WebPageTest are introduced. The workshop also discusses integrating performance tests with TAP and Jenkins. Additional topics include processing performance data in R, looking at live sites, issues like unnecessary repainting, and lessons learned in web performance optimization.
Are Today's Good Practices… Tomorrow's Performance Anti-PatternsAndy Davies
The document discusses how current web performance optimization practices may become obsolete or anti-patterns with new web technologies like HTTP/2 and SPDY. It summarizes results of tests comparing HTTP/1.1 to SPDY, finding that SPDY is faster with minimal optimizations. The document also examines how practices like sharding assets and inline JavaScript may not work as expected or introduce new issues with these protocols. It recommends starting to experiment now with tools like mod_pagespeed and mod_spdy to understand the effects of new technologies on performance best practices.
Are Today’s Good Practices... Tomorrow’s Performance Anti-Patterns?Andy Davies
The web is ever changing… browsers are evolving, new protocols are emerging and mobile continues its relentless rise. We’re already starting to bend some of the original performance rules and as the web changes further will our current good practices last, or will some become barriers that hinder performance?
Slides from my Ignite (20 slides, auto-advancing every 15 secs) talk at WebPerfDays, Mountain View.
Not sure they will make sense standalone but talk was recorded and will be available at some point.
Would also like to work this up into a longer talk at some point.
The document discusses ways to improve website performance by reducing page load times. It identifies several factors that affect performance like request size, response size, number of components, and bandwidth. It then provides recommendations to shrink the response size through compression and optimization, reduce the number of requests by merging files, and minimize third-party scripts when possible. Specific techniques mentioned include minifying assets, using content delivery networks, browser caching, and tools for testing and monitoring performance.
The document discusses strategies for making mobile websites faster, including optimizing images, caching resources, minimizing redirects, leveraging new HTML elements like <picture>, compressing files, and ensuring smooth performance after page load. It emphasizes the importance of measuring site performance and adapting delivery based on network conditions and device capabilities.
Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?Andy Davies
This document discusses how performance best practices may become anti-patterns as technologies evolve. It explores how techniques like data URIs, domain sharding, and CSS sprites could be negatively impacted by new protocols like SPDY. The author advocates experimenting with modern tools like mod_pagespeed to test different optimizations under various conditions and sharing results. Continued improvement of debugging tools is also important to help evaluate new approaches as the network landscape changes. Overall, the message is that situational optimization will become more important over rigid rules as complexity increases.
Web Performance Workshop - Velocity London 2013Andy Davies
The document summarizes a hands-on web performance workshop. It discusses tools and techniques that will be covered, including live analysis of websites. Attendees are encouraged to ask questions and suggest sites to test. Various tools for performance testing like PhantomJS, Phantomas, and WebPageTest are introduced. The workshop also discusses integrating performance tests with TAP and Jenkins. Additional topics include processing performance data in R, looking at live sites, issues like unnecessary repainting, and lessons learned in web performance optimization.
Speed is Essential for a Great Web Experience (Digicure - Copenhagen)Andy Davies
This document discusses the importance of website speed and performance. It notes that users expect instant or seamless load times, and delays of just a few seconds can negatively impact user experience and business metrics like conversion rates. The document provides examples of companies that improved performance and saw increases in key metrics. It also outlines various techniques for optimizing frontend performance, such as reducing page size, limiting HTTP requests, optimizing images, and loading scripts asynchronously. The overall message is that website speed is essential for a good user experience and business goals.
The Case for HTTP/2 - Internetdagarna 2015 - StockholmAndy Davies
HTTP/2 is here but why do we need it, how is it different to HTTP/1.1 and what does the mean for developers?
Slides from my talk at Internetdagarna 2015, Stockholm
Mobile Web Performance - Getting and Staying FastAndy Davies
Slides from mine and Aaaron Peter's talk at QCon London (Mar 2014) on how to measure mobile web performance, things that affect in and how to improve it
Talk from The Web Is in Cardiff, October 2014 exploring the business case for web performance, and some of the underlying factors that can make sites slow
This document summarizes Christopher Schmitt's presentation on adaptive images in responsive web design. It discusses using feature testing versus browser sniffing to determine the appropriate image to serve, including testing browser width, screen resolution, and bandwidth. It then covers various techniques for serving adaptive images, such as using .htaccess files, the <picture> element, srcset attributes, and JavaScript libraries. It emphasizes using a mobile-first approach and progressive enhancement to provide the best experience for all devices.
The document discusses improving page load performance on websites. It notes that many sites are currently too slow and outlines some strategies to minimize latency, round trips, and blocking of page loads. These include prioritizing important content in the first round trip, automating optimization processes, and measuring performance directly in the user's browser to better understand why pages are slow and how to fix those issues. The document emphasizes that performance is an important part of user experience that needs more consideration in website design.
The document discusses the speed of the modern web. It summarizes key metrics around connection speeds, browser speeds, page weights, adoption of best practices, and page load times based on data from various sources. While some metrics like connection speeds and page load times are improving, pages overall are getting heavier and adoption of best practices is flat. The document advocates watching video growth, developing better performance metrics, promoting best practices more widely, utilizing multiple CPUs, and improving caching.
Stefan Judis "Did we(b development) lose the right direction?"Fwdays
Keeping up with the state of web technology is one of the biggest challenges for us developers today. We invent new tools; we define new best practices, everything’s new, always... And we do all that for good user experience! We do all that to build the best possible web – it’s all about our users.
But is it, really? Or do developers like to play with technology secretly loving the new and shiny? Or do we only pretend that it’s about users, and behind closed doors, it’s developer experience that matters to us? Did we lose direction? Is it time for a critical look at the state of the web and the role JavaScript plays in it?
The document discusses techniques for prebrowsing or prefetching resources to improve page load performance. It describes how developers can use <link> tags with rel="dns-prefetch", rel="prefetch", and rel="prerender" to hint to browsers on resources that could be pre-resolved, pre-downloaded or pre-rendered before they are needed. It also explains how browsers perform internal prefetching optimizations like DNS pre-resolution, TCP pre-connection and prefetching of likely-needed resources during page transitions using predictors. The goal is to get resources the browser will need before it needs them to reduce load times.
High Performance Mobile (SF/SV Web Perf)Steve Souders
1. The document discusses optimizing websites for high performance mobile experiences. It provides 14 best practices for mobile optimization, including making fewer HTTP requests, using content delivery networks, gzipping components, and optimizing images.
2. Mobile optimization is important because mobile internet usage is growing rapidly. Performance impacts metrics like user experience and revenue.
3. Tools for measuring and improving mobile performance are introduced, such as PcapPerf for analyzing network traffic and Weinre for debugging JavaScript on mobile devices. Faster mobile sites will have an advantage as mobile becomes the primary internet platform.
Which would you rather have: A rich design or a fast user experience? Users want both, but sometimes the interplay between design and performance feels like a fixed sum game: One side’s gain is the other side’s loss. Design and performance are indeed connected, but it’s more like the yin and yang. They aren’t opposing forces, but instead complement each other. Users want an experience that is rich and fast. The trick for us as designers and developers is figuring out how to do that.
The answer is to adopt an approach that considers both design and performance from the outset. With this approach, designs are conceived by teams of designers and developers working together. Developers benefit by participating in the product definition process. Designers benefit from understanding more about how designs are implemented. There’s an emphasis on early prototyping and tracking performance from the get-go.
With new metrics that focus on what a user actually sees as the page loads, we can now bridge the technical and language gaps that have hindered the seamless creation of great user experiences. In this presentation, Steve Souders, former Chief Performance Yahoo! and Google head performance engineer, explains how promoting a process that brings design and performance together at the beginning of a project helps deliver a web experience that is both fast and rich.
1. The document discusses the debate around relying on JavaScript for web applications and progressive enhancement.
2. It argues that while JavaScript can break, the web has evolved to focus more on capable client-side devices rather than availability of JavaScript.
3. It suggests embracing new paradigms like components and functional programming to build high quality, error-handling code rather than avoiding JavaScript.
As browsers explode with new capabilities and migrate onto devices users can be left wondering, “what’s taking so long?” Learn how HTML, CSS, JavaScript, and the web itself conspire against a fast-running application and simple tips to create a snappy interface that delight users instead of frustrating them.
Web Performance in the Age of HTTP2 - Topconf Tallinn 2016 - Holger BartelHolger Bartel
Web performance optimisation has been gaining ground and is slowly getting more of its deserved recognition.
Nevertheless, much of our time on the web is still used up by waiting. To decrease our wait time and improve the web’s overall performance, this integral part of user experience needs further promotion.
Waiting and the perception of time itself, is reason enough to explore some of the psychological effects time has on our users, too.
Passing time also plays a big role in the evolution of technologies. Through the history of HTTP we have reached the latest version as HTTP/2, which will turn some of our existing web performance best practices on their head and into the new anti-patterns of today.
The document discusses the evolution of the web from progressive web apps to native mobile apps and back again to progressive web apps. It notes that early mobile web faced issues like small screens, poor connectivity and unreliable browsers, leading to the rise of native apps. However, app distribution issues like slow updates and the "walled garden" approach of app stores have led to a renewed interest in progressive web apps that work offline but do not require app stores, allowing for more open distribution like the original web.
The document discusses various techniques for optimizing web performance, including:
- Minifying assets like CSS, JavaScript, and images to reduce file sizes
- Leveraging caching, compression, and browser parallelization to speed up page loads
- Implementing responsive design patterns and techniques like image sprites and media queries
- Optimizing assets further with techniques like image optimization, lazy loading, and prefetching
Speed is Essential for a Great Web Experience (Canvas Conf Version)Andy Davies
Speed is essential for a good user experience on the web. Research has shown that page load times over 1 second can negatively impact user behavior like concentration and abandonment rates. Factors that affect page load times include front-end code, images, third-party scripts, redirects, and HTTP requests. Key ways to improve performance include optimizing front-end code, compressing images, loading scripts asynchronously, minimizing redirects, caching resources, and measuring real user performance. The goal is to provide users with fast response times across all devices.
The document summarizes key techniques for responsible responsive web design, including building mobile-first responsive designs, keeping CSS images in their place, conditionally loading JavaScript based on screen size and capabilities, delivering different sized images at different screen sizes, and handling high-density images carefully. It also discusses debates around whether a one-size-fits-all responsive approach can compete with a tailored experience and ensuring responsive designs are optimized for performance.
Speed is Essential for a Great Web Experience (Digicure - Copenhagen)Andy Davies
This document discusses the importance of website speed and performance. It notes that users expect instant or seamless load times, and delays of just a few seconds can negatively impact user experience and business metrics like conversion rates. The document provides examples of companies that improved performance and saw increases in key metrics. It also outlines various techniques for optimizing frontend performance, such as reducing page size, limiting HTTP requests, optimizing images, and loading scripts asynchronously. The overall message is that website speed is essential for a good user experience and business goals.
The Case for HTTP/2 - Internetdagarna 2015 - StockholmAndy Davies
HTTP/2 is here but why do we need it, how is it different to HTTP/1.1 and what does the mean for developers?
Slides from my talk at Internetdagarna 2015, Stockholm
Mobile Web Performance - Getting and Staying FastAndy Davies
Slides from mine and Aaaron Peter's talk at QCon London (Mar 2014) on how to measure mobile web performance, things that affect in and how to improve it
Talk from The Web Is in Cardiff, October 2014 exploring the business case for web performance, and some of the underlying factors that can make sites slow
This document summarizes Christopher Schmitt's presentation on adaptive images in responsive web design. It discusses using feature testing versus browser sniffing to determine the appropriate image to serve, including testing browser width, screen resolution, and bandwidth. It then covers various techniques for serving adaptive images, such as using .htaccess files, the <picture> element, srcset attributes, and JavaScript libraries. It emphasizes using a mobile-first approach and progressive enhancement to provide the best experience for all devices.
The document discusses improving page load performance on websites. It notes that many sites are currently too slow and outlines some strategies to minimize latency, round trips, and blocking of page loads. These include prioritizing important content in the first round trip, automating optimization processes, and measuring performance directly in the user's browser to better understand why pages are slow and how to fix those issues. The document emphasizes that performance is an important part of user experience that needs more consideration in website design.
The document discusses the speed of the modern web. It summarizes key metrics around connection speeds, browser speeds, page weights, adoption of best practices, and page load times based on data from various sources. While some metrics like connection speeds and page load times are improving, pages overall are getting heavier and adoption of best practices is flat. The document advocates watching video growth, developing better performance metrics, promoting best practices more widely, utilizing multiple CPUs, and improving caching.
Stefan Judis "Did we(b development) lose the right direction?"Fwdays
Keeping up with the state of web technology is one of the biggest challenges for us developers today. We invent new tools; we define new best practices, everything’s new, always... And we do all that for good user experience! We do all that to build the best possible web – it’s all about our users.
But is it, really? Or do developers like to play with technology secretly loving the new and shiny? Or do we only pretend that it’s about users, and behind closed doors, it’s developer experience that matters to us? Did we lose direction? Is it time for a critical look at the state of the web and the role JavaScript plays in it?
The document discusses techniques for prebrowsing or prefetching resources to improve page load performance. It describes how developers can use <link> tags with rel="dns-prefetch", rel="prefetch", and rel="prerender" to hint to browsers on resources that could be pre-resolved, pre-downloaded or pre-rendered before they are needed. It also explains how browsers perform internal prefetching optimizations like DNS pre-resolution, TCP pre-connection and prefetching of likely-needed resources during page transitions using predictors. The goal is to get resources the browser will need before it needs them to reduce load times.
High Performance Mobile (SF/SV Web Perf)Steve Souders
1. The document discusses optimizing websites for high performance mobile experiences. It provides 14 best practices for mobile optimization, including making fewer HTTP requests, using content delivery networks, gzipping components, and optimizing images.
2. Mobile optimization is important because mobile internet usage is growing rapidly. Performance impacts metrics like user experience and revenue.
3. Tools for measuring and improving mobile performance are introduced, such as PcapPerf for analyzing network traffic and Weinre for debugging JavaScript on mobile devices. Faster mobile sites will have an advantage as mobile becomes the primary internet platform.
Which would you rather have: A rich design or a fast user experience? Users want both, but sometimes the interplay between design and performance feels like a fixed sum game: One side’s gain is the other side’s loss. Design and performance are indeed connected, but it’s more like the yin and yang. They aren’t opposing forces, but instead complement each other. Users want an experience that is rich and fast. The trick for us as designers and developers is figuring out how to do that.
The answer is to adopt an approach that considers both design and performance from the outset. With this approach, designs are conceived by teams of designers and developers working together. Developers benefit by participating in the product definition process. Designers benefit from understanding more about how designs are implemented. There’s an emphasis on early prototyping and tracking performance from the get-go.
With new metrics that focus on what a user actually sees as the page loads, we can now bridge the technical and language gaps that have hindered the seamless creation of great user experiences. In this presentation, Steve Souders, former Chief Performance Yahoo! and Google head performance engineer, explains how promoting a process that brings design and performance together at the beginning of a project helps deliver a web experience that is both fast and rich.
1. The document discusses the debate around relying on JavaScript for web applications and progressive enhancement.
2. It argues that while JavaScript can break, the web has evolved to focus more on capable client-side devices rather than availability of JavaScript.
3. It suggests embracing new paradigms like components and functional programming to build high quality, error-handling code rather than avoiding JavaScript.
As browsers explode with new capabilities and migrate onto devices users can be left wondering, “what’s taking so long?” Learn how HTML, CSS, JavaScript, and the web itself conspire against a fast-running application and simple tips to create a snappy interface that delight users instead of frustrating them.
Web Performance in the Age of HTTP2 - Topconf Tallinn 2016 - Holger BartelHolger Bartel
Web performance optimisation has been gaining ground and is slowly getting more of its deserved recognition.
Nevertheless, much of our time on the web is still used up by waiting. To decrease our wait time and improve the web’s overall performance, this integral part of user experience needs further promotion.
Waiting and the perception of time itself, is reason enough to explore some of the psychological effects time has on our users, too.
Passing time also plays a big role in the evolution of technologies. Through the history of HTTP we have reached the latest version as HTTP/2, which will turn some of our existing web performance best practices on their head and into the new anti-patterns of today.
The document discusses the evolution of the web from progressive web apps to native mobile apps and back again to progressive web apps. It notes that early mobile web faced issues like small screens, poor connectivity and unreliable browsers, leading to the rise of native apps. However, app distribution issues like slow updates and the "walled garden" approach of app stores have led to a renewed interest in progressive web apps that work offline but do not require app stores, allowing for more open distribution like the original web.
The document discusses various techniques for optimizing web performance, including:
- Minifying assets like CSS, JavaScript, and images to reduce file sizes
- Leveraging caching, compression, and browser parallelization to speed up page loads
- Implementing responsive design patterns and techniques like image sprites and media queries
- Optimizing assets further with techniques like image optimization, lazy loading, and prefetching
Speed is Essential for a Great Web Experience (Canvas Conf Version)Andy Davies
Speed is essential for a good user experience on the web. Research has shown that page load times over 1 second can negatively impact user behavior like concentration and abandonment rates. Factors that affect page load times include front-end code, images, third-party scripts, redirects, and HTTP requests. Key ways to improve performance include optimizing front-end code, compressing images, loading scripts asynchronously, minimizing redirects, caching resources, and measuring real user performance. The goal is to provide users with fast response times across all devices.
The document summarizes key techniques for responsible responsive web design, including building mobile-first responsive designs, keeping CSS images in their place, conditionally loading JavaScript based on screen size and capabilities, delivering different sized images at different screen sizes, and handling high-density images carefully. It also discusses debates around whether a one-size-fits-all responsive approach can compete with a tailored experience and ensuring responsive designs are optimized for performance.
SearchLove San Diego 2018 | Mat Clayton | Site Speed for Digital MarketersDistilled
We all know that site speed matters not only for users but also for search rankings. As marketers, how can we measure and improve the impact of site speed? Mat will cover a range of topics and tools, from the basic quick wins to some of the more surprising and cutting-edge techniques used by the largest websites in the world.
In the beginning, progressive enhancement was simple: HTML layered with CSS layered with JavaScript. That worked fine when there were two browsers, but in today's world of multiple devices and multiple browsers, it's time for a progressive enhancement reboot. At the core is the understanding that the web is not print - the same rules don't apply. As developers and consumers we've been fooled into thinking about print paradigms for too long. In this talk, you'll learn just how different the web is and how the evolution of progressive enhancement can lead to better user experiences as well as happier developers and users.
This deck is a conference-agnostic one, suitable to be shown anywhere without site-specific jokes!
Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)Nicholas Zakas
In the beginning, progressive enhancement was simple: HTML layered with CSS layered with JavaScript. That worked fine when there were two browsers, but in today's world of multiple devices and multiple browsers, it's time for a progressive enhancement reboot. At the core is the understanding that the web is not print - the same rules don't apply. As developers and consumers we've been fooled into thinking about print paradigms for too long. In this talk, you'll learn just how different the web is and how the evolution of progressive enhancement can lead to better user experiences as well as happier developers and users.
Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?Andy Davies
Talk from Akamai Edge 2014 looking at some of our current web performance optimisation practices and how they may need to change as new standards and protocols emerge
The document discusses the importance of website performance and provides tips to build responsive websites. It notes that users expect pages to load within 2 seconds and will leave slow sites. The tips include reducing HTTP requests, gzipping and minifying components, optimizing images, delivering JavaScript and CSS efficiently, lazy loading images, and inlining critical CSS. Following these foundations and techniques can significantly improve load times and user experience.
Now you see me... Adaptive Web Design and DevelopmentJonas Päckos
Progressive enhancement is still an important approach for building responsive websites and web applications. While JavaScript can now be assumed to be widely available, progressive enhancement avoids single points of failure and improves performance by loading critical content first before non-essential enhancements. The distinction between websites and applications is also blurred, so progressive techniques remain applicable to most digital experiences on the web.
This document discusses various techniques for responsive images in web design, including browser sniffing versus feature testing, image sizes for different screen resolutions and bandwidths, and different implementation methods like .htaccess files, the <picture> element, and JavaScript libraries. It covers topics like using the browser width to determine layouts, screen resolution detection, and bandwidth testing. Workarounds discussed include using background images, SVGs, icon fonts, and compressed JPEGs. The document advocates a mobile-first approach and using CSS media queries to adapt designs based on screen size.
NU Web Steering Committee - Oct 11 - Web PerformanceLee Roberson
The document discusses various techniques for improving website performance and speed. It recommends prioritizing speed to provide a better user experience with slow networks or expensive data plans. Specific techniques mentioned include minimizing HTTP requests through combining and compressing CSS and JavaScript files, leveraging HTML5 features like application caching, optimizing images, and deferring unnecessary JavaScript loading. The document emphasizes that performance impacts both users and search engines like Google.
This document discusses responsive image techniques for adaptive web design. It begins by explaining browser sniffing versus feature testing, and recommends using feature testing to determine browser width, screen resolution, and bandwidth instead of browser sniffing. It then covers techniques like using background-size to control image sizes, SVG for smaller file sizes, and font-based solutions. The document also discusses server-side techniques like .htaccess rewrite rules and client-side techniques like picture and HiSRC. It advocates for a mobile-first approach using CSS media queries and a single pixel GIF for responsive images.
This document discusses strategies for improving JavaScript performance on websites. It begins by noting that JavaScript is often the number one cause of slow web pages. It then reviews the history of JavaScript loading approaches, from loading scripts in the page head in 1995 to more modern async and deferred loading. It discusses using localStorage as a cache and the Google Analytics async snippet as examples. It concludes by recommending tools and resources for measuring and improving JavaScript performance, including WebPagetest.org, ControlJS, and Steve Souders' own site and books.
This document discusses strategies for improving JavaScript performance on web pages. It begins by noting that JavaScript is often the number one cause of slow page loads. It then reviews the history of script loading approaches, from loading scripts in the page head in 1995 to more modern async and deferred loading. Key recommendations include using async and deferred loading, prefetching scripts that may not be needed, leveraging localStorage as an application cache, and optimizing the Google Analytics async snippet. The document emphasizes strategies from stevesouders.com like ControlJS and leveraging tools from sites like WebPagetest.org and Cuzillion.com to test performance.
The Case for HTTP/2 - GreeceJS - June 2016Andy Davies
HTTP/2 is here but why do we need it, how is it different to HTTP/1.1 and what does the mean for developers?
Slides from my talk at GreeceJS in Athens, June 2016
Andy Davies (Web Performance Expert @NCC Group, Author of Using WebPageTest - O'reilly) presents The case for HTTP/2 at GreeceJS meetup #14 (Athens, June 15, 2016)
Web Directions South - Even Faster Web SitesSteve Souders
The document discusses techniques for optimizing web page performance, including loading scripts asynchronously without blocking page rendering, splitting scripts into critical and non-critical parts, leveraging content delivery networks, minimizing downloads, and using new web standards like the Navigation Timing API. It emphasizes the importance of front-end optimization and progressive enhancement to improve site speed. Examples are given of how major sites like Google, Facebook, and Wikipedia optimize script loading.
1. The document discusses various techniques for implementing adaptive images in responsive web design, including using the browser's user agent string, feature testing dimensions with JavaScript, and CSS media queries.
2. It describes approaches like modifying .htaccess files and using the <picture> element to serve different image sizes, as well as libraries that simplify the process like HiSRC.
3. Workarounds discussed include using background images, SVG images, font-based solutions, and compressed JPEG files to improve performance on different devices.
This document discusses adaptive images in responsive web design. It begins by introducing the speaker, Christopher Schmitt, and his credentials. It then explores using the browser's user agent string and feature detection to determine screen resolution and bandwidth rather than browser sniffing. The document discusses using CSS media queries, jQuery, and the picture element to serve adaptive images. It also proposes some workaround techniques like background sizing and SVG to improve responsive images.
This document discusses the importance of website speed and performance. It notes that most top retail sites take over 3 seconds to load critical content, and median page load times have slowed by 23% year-over-year. Faster sites see benefits like 10% higher conversions. Network latency has a greater impact on performance than bandwidth. Techniques like preloading fonts and images can help mitigate latency. Frameworks and features like service workers may also help if designed deliberately for performance. Regular measurement and setting performance budgets are recommended to build fast user experiences.
This document discusses various topics related to developing web apps, including HTML5, responsive design, touch events, offline capabilities, and debugging tools. It provides links to resources on HTML5 features like media queries, SVG, web workers, and the page visibility API. It also covers techniques for adapting content like responsive web design, progressive enhancement, and server-side adaptation. Mobile browser stats and popular devices on Douban are mentioned. Frameworks like Bootstrap and tools like Weinre for debugging mobile apps are referenced.
AB Testing, Ads and other 3rd party tags - London WebPerf - March 2018Andy Davies
Talk at Smashing Conf - 7th Feb 2018 (Video - https://vimeo.com/254703766)
Explores some of the issues that 3rd-party tags introduce when we add them to our sites, some ways of measuring the impact, and challenges we still have
AB Testing, Ads and other 3rd party tags - SmashingConf London - 2018Andy Davies
Talk at Smashing Conf - 7th Feb 2018 (Video - https://vimeo.com/254703766)
Explores some of the issues that 3rd-party tags introduce when we add them to our sites, some ways of measuring the impact, and challenges we still have
Inspecting iOS App Traffic with JavaScript - JSOxford - Jan 2018Andy Davies
This document discusses inspecting iOS app traffic with JavaScript by injecting scripts using Frida. It demonstrates capturing encrypted network traffic from an iOS app, extracting the TLS master secret and client/server randoms using a Frida script, and sending these values to the host computer to allow decrypting the traffic with Wireshark. The key steps are: using Frida to inject a script into an app, hooking the TLS PRF function to extract secret values, and sending these to the host to decrypt the HTTPS traffic in Wireshark. With these techniques, patterns in encrypted app traffic can be observed.
Slides from my talk at Bristol WebPerf Meetup 2017-07-20 where I talked about some of the approaches I use to persuade people that they should invest in making their sites faster
Speed: The 'Forgotten' Conversion FactorAndy Davies
Speed is a critical factor when it comes to converting browsers into buyers but it's often forgotten and other factors prioritised instead. Using real data from UK retailers this talk explores the relationship between speed and conversion
Building an Appier Web - London Web Standards - Nov 2016Andy Davies
Explores progressive web apps, what advantages they have versus native apps, how to build, and test them, and some of the challenges we still have ahead.
Slides from talk at London Web Standards, Nov 2016
Building an Appier Web - Velocity Amsterdam 2016Andy Davies
Explores progressive web apps, what advantages they have versus native apps, how to build, and test them, and some of the challenges we still have ahead.
Slides from talk at Velocity Amsterdam 2016
Slides from my talk at NCC Group's Web Performance Day in May 2016.
Compares the features of apps and the web, what's great about each and explores some of the technologies that will allow us to build websites that can deliver native like experiences.
The Fast, The Slow and The Unconverted - Emerce Conversion 2016Andy Davies
Slides from my talk at Emerce Conversion, Amsterdam on the importance of performance(page speed) for conversion.
Explore some of the performance issues we face when relying on third-party CRO products / services
The document discusses how mobile sites are getting slower due to larger page sizes from images, CSS, JavaScript and fonts. It provides tips for optimizing images, such as using responsive images and smaller image sizes. It also recommends prioritizing critical content over non-essential elements like unnecessary JavaScript and web fonts to improve page load times.
The Case for HTTP/2 - EpicFEL Sept 2015Andy Davies
HTTP/2 is here but why do we need it, and how is it different to HTTP/1.1?
Video - https://www.youtube.com/watch?v=ob-CnA9YmiI
These are the slides from my talk at Front-End London's one day conference, EpicFEL
Speed matters, So why is your site so slow?Andy Davies
Slides from my talk at ReDevelop 2015
Covers business case for web performance, along with the fundamentals of how latency and the critical rendering path affect page load performance
HTTP/2 addresses limitations in HTTP/1.x by multiplexing requests over a single TCP connection, compressing headers, and allowing servers to push responses. It leads to more efficient use of network resources and faster page loads. While browser support is good, server implementations are still maturing and need to fully support HTTP/2 features like streams, dependencies, and server push to provide optimizations. Efficient TLS is also important to avoid delays in taking advantage of HTTP/2 performance benefits.
HTTP/2 provides improvements over HTTP/1.1 such as multiplexed requests, header compression and priority hints from browsers that can reduce latency. While it shows benefits in testing, real-world impacts may be more modest depending on server and client configurations. Further optimizations are still needed and HTTP/2 opens up new possibilities around features like server pushing and progressive content delivery that could enhance performance.
HTTP/2 is a new version of the HTTP network protocol that aims to improve website performance. It uses a single TCP connection to allow multiple requests and responses to be multiplexed together. This improves efficiency over HTTP/1.1. Additionally, HTTP/2 allows servers to push critical resources like CSS files to clients, potentially reducing load times. While HTTP/2 brings performance benefits, challenges remain around widespread server support and differing optimizations between HTTP/1.1 and HTTP/2.
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/efficiency-unleashed-the-next-gen-nxp-i-mx-95-applications-processor-for-embedded-vision-a-presentation-from-nxp-semiconductors/
James Prior, Senior Product Manager at NXP Semiconductors, presents the “Efficiency Unleashed: The Next-gen NXP i.MX 95 Applications Processor for Embedded Vision” tutorial at the May 2024 Embedded Vision Summit.
Machine vision is the most obvious way to help humans live better, enabling hundreds of applications spanning security, monitoring, inspection and more. Modern edge processors need private on-device and scalable hybrid machine learning capabilities to offer enough longevity to stay relevant in industrial and commercial IoT markets. In this talk, Prior presents the upcoming i.MX 95 family of applications processors.
The i.MX 95 features a new, self-developed neural processing unit from NXP—the eIQ Neutron NPU. Designed to scale from today’s conventional neural networks to tomorrow’s transformer-based models, the eIQ Neutron NPU scalable architecture delivers edge AI capabilities at high efficiency with award-winning tools, combined with chip-level security and privacy features. The i.MX 95 applications processor family features powerful processing and vision capabilities combined with safety, security and expandable high-speed interfaces.
Test Management as Chapter 5 of ISTQB Foundation. Topics covered are Test Organization, Test Planning and Estimation, Test Monitoring and Control, Test Execution Schedule, Test Strategy, Risk Management, Defect Management
Metadata Lakes for Next-Gen AI/ML - DatastratoZilliz
As data catalogs evolve to meet the growing and new demands of high-velocity, unstructured data, we see them taking a new shape as an emergent and flexible way to activate metadata for multiple uses. This talk discusses modern uses of metadata at the infrastructure level for AI-enablement in RAG pipelines in response to the new demands of the ecosystem. We will also discuss Apache (incubating) Gravitino and its open source-first approach to data cataloging across multi-cloud and geo-distributed architectures.
For senior executives, successfully managing a major cyber attack relies on your ability to minimise operational downtime, revenue loss and reputational damage.
Indeed, the approach you take to recovery is the ultimate test for your Resilience, Business Continuity, Cyber Security and IT teams.
Our Cyber Recovery Wargame prepares your organisation to deliver an exceptional crisis response.
Event date: 19th June 2024, Tate Modern
Balancing Compaction Principles and PracticesScyllaDB
Compaction is a crucial component for preventing storage consumption from exploding. In this session, we’ll talk about why compaction is required and its principles of operation, the main compaction strategies available for use, when they should be used, and how they can be configured. Finally, we’ll present new compaction features recently introduced in ScyllaDB Enterprise and ScyllaDB Cloud.
This slide deck is a deep dive the Salesforce latest release - Summer 24, by the famous Stephen Stanley. He has examined the release notes very carefully, and summarised them for the Wellington Salesforce user group, virtual meeting June 27 2024.
How to Optimize Call Monitoring: Automate QA and Elevate Customer ExperienceAggregage
The traditional method of manual call monitoring is no longer cutting it in today's fast-paced call center environment. Join this webinar where industry experts Angie Kronlage and April Wiita from Working Solutions will explore the power of automation to revolutionize outdated call review processes!
An Introduction to All Data Enterprise IntegrationSafe Software
Are you spending more time wrestling with your data than actually using it? You’re not alone. For many organizations, managing data from various sources can feel like an uphill battle. But what if you could turn that around and make your data work for you effortlessly? That’s where FME comes in.
We’ve designed FME to tackle these exact issues, transforming your data chaos into a streamlined, efficient process. Join us for an introduction to All Data Enterprise Integration and discover how FME can be your game-changer.
During this webinar, you’ll learn:
- Why Data Integration Matters: How FME can streamline your data process.
- The Role of Spatial Data: Why spatial data is crucial for your organization.
- Connecting & Viewing Data: See how FME connects to your data sources, with a flash demo to showcase.
- Transforming Your Data: Find out how FME can transform your data to fit your needs. We’ll bring this process to life with a demo leveraging both geometry and attribute validation.
- Automating Your Workflows: Learn how FME can save you time and money with automation.
Don’t miss this chance to learn how FME can bring your data integration strategy to life, making your workflows more efficient and saving you valuable time and resources. Join us and take the first step toward a more integrated, efficient, data-driven future!
11. Work the bandwidth - squeeze the content
gzip/deflate anything that can be compressed
html, css, js, xml, json etc.
(perhaps even favicon.ico)
‘Minify’ js and css
http://www.flickr.com/photos/andih/240584392/
12. Images make up the bulk of bytes transferred
Pick the right format Consider alternatives
jpeg - lossy SVG
png - lossless CSS3
gif - animated Canvas
Icon / pictogram fonts
Don’t forget to optimise them!
http://www.flickr.com/photos/zaprittsky/4520788183/
13. Frameworks and tools can help
Frameworks are adding support for minifying,
merging, versioning and caching
Server plugins and cloud based services to do
similar things are available
http://www.flickr.com/photos/mtneer_man/359116762/
15. Load CSS first
Browsers block rendering until external CSS files
are downloaded (avoids the ‘Flash of Unstyled
Content’)
Avoid inline styles outside the <head>, may
trigger reflow and repaint
16. Split the JavaScript payload
Load only the essential JS in the <head> -
mondernizr, html5shiv etc.
Put the rest at the bottom of the page, or load
asyncronously
(Pagespeed can help find deferrable js)
“Fast Loading Javascript” by @aaronpeters is a really good reference
http://www.slideshare.net/startrender/fast-loading-javascript
17. Load Third Party ‘Widgets’ asynchronously
Script for asynchronous loading:
<script type="text/javascript">
function() {
var js = document.createElement('script');
js.async = true;
js.src = 'myscript.js';
var first = document.getElementsByTagName('script')[0];
first.parentNode.insertBefore(js, first);
})();
</script>
Synchronous scripts can break a site if the script fails to
load or is blocked.
18. When Third Party ‘Widgets’ go bad
From http://bit.ly/yRjX63
19. When Third Party ‘Widgets’ go bad
From http://bit.ly/yRjX63
20. Flush the <head>
CSS starts loading
before page has
finished
(Can also flush other blocks of the page too)
23. How many of these stylesheets get loaded?
<link rel="stylesheet" type="text/css" href="css/base.css" />
<link rel="stylesheet" type="text/css" href="css/flow.css"
media="screen and (max-width: 960px)" />
<link rel="stylesheet" type="text/css" href="css/mobile.css"
media="screen and (max-width: 480px)" />
<link rel="stylesheet" type="text/css" href="css/retina.css"
media="screen and (-webkit-min-device-pixel-ratio: 2)" />
<!--[if IE 7]>
<link rel="stylesheet" type="text/css" href="css/ie7.css" />
<![endif]-->
24. How many of these stylesheets get loaded?
<link rel="stylesheet" type="text/css" href="css/base.css" />
<link rel="stylesheet" type="text/css" href="css/flow.css"
media="screen and (max-width: 960px)" />
<link rel="stylesheet" type="text/css" href="css/mobile.css"
media="screen and (max-width: 480px)" />
<link rel="stylesheet" type="text/css" href="css/retina.css"
media="screen and (-webkit-min-device-pixel-ratio: 2)" />
<!--[if IE 7]>
<link rel="stylesheet" type="text/css" href="css/ie7.css" />
<![endif]-->
All of them! (ie7.css only in IE7 though)
25. Font foundries will slow things down
Google
Typekit
(Both have really short cache expiry times. Typekit doesn’t compress eot)
http://www.artzstudio.com/2012/02/web-font-performance-weighing-fontface-options-and-alternatives/
26. Browsers move on - use up to date libraries
Most popular version of
jQuery is over two years old!
(released Feb 2010)
1.3.0 1.3.1 1.3.2 1.4.0 1.4.1 1.4.2 1.4.3 1.4.4 1.5.0 1.5.1 1.5.2 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.7.0 1.7.1
Based on references to jQuery hosted on Google CDN in http://httparchive.org/ Feb 2012 crawl
27. Performance matters, it has a
measurable impact on engagement
Browsers and ISPs can’t fix all our speed
issues
We have the tools and techniques to
make a dramatic difference
Other indications\n - Google&#x2019;s / Yahoo/ Bing experiments\n - Mozilla\n - Shopzilla\n - Kerboodle experience\n\nAlso people&#x2019;s perception of time is faulty... (Stoyan Stefanov, Psychology of Performance)\n - Average person perceives page takes 15% longer to load that reality\n - Will recount it as 35% longer when talking to others\n\n
Developing richer, higher fidelity, usable more pleasant experiences for people\n\nContent growth: 2001 -> 2012 (Souders / HTTP Archive)\nhtml+10%\njs+44%\ncss+19%\nimages +21%\nflash -21%\n \n
\n
Faster JS engines\nBetter network management e.g. SPDY, speculative TCP connections\nGPU acceleration\nNew formats e.g. WebM, WebP\n\n
At low speeds throughput matters but as speeds rise number of requests and latency becomes the limiting factor\nConnection speeds are increasing but connections are shared and contention can be a problem (both within a household and at the exchange)\n\n\n
\n
\n
\n
What about CDN?\nWhat about cheating on TCP slow-start\nLinux 2.6.39 increases initcwnd to 10\n
\n
Images form on average 59% of site content (exc video and audio) \n\nRetina displays complicate things - time for vectors / fonts?\n
Shows the page is loading\n\nPage usable sooner\n\nJavascript issues don&#x2019;t block the rendering\n
\n
Asynchronous loaders like LABjs, yepnope, HEADjs\n
\n
\n
Caveat: What happens if the page fails after the flush?\n
Film strip of debenhams.com loading, frames at 0.5s interval\n\nMain hero/banner image is delayed as it&#x2019;s loaded using background-image: url(...)\n\nWould load sooner if <img> was used instead\n
\n
\n
Major and minor breakpoints in Responsive Design (@byranrieger / @stephanierieger)\n
Number of domains involved for Google\nBoth have very short cache-expiry time for fonts\nTypekit doesn&#x2019;t compress EOT fronts\n
Do you even need jQuery - zepto.js and other js frameworks (microjs.com)\n