This document summarizes Steve Souders' presentation on web performance optimization (WPO). It discusses how speed is the most important website feature and outlines techniques to improve performance like optimizing assets, reducing page weight, and addressing third-party content. It also previews upcoming developments in WPO like browser tools, standards, and the growing focus on mobile and ensuring speed remains a key differentiator.
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.
Making users happy is a goal that unifies everyone on the team. The key then is to establish metrics that reflect user happiness. In the world of performance, we havent always done a great job of this. Often, performance metrics track how our pages are built which might not be correlated with a joyous user experience, and we start optimizing our stack for the sake of optimizing our stack. Luckily, momentum is building around UX-centered metrics such as start render time, time-to-interact, and first meaningful paint. Steve Souders discusses these new metrics that help us build web apps that produce the fast, joyous experiences our users want.
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.
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.
How many photo carousels have you built? Date pickers? Dynamic tables and charts? Wouldn't it be great if there was a way to make these custom elements encapsulated and reusable? Welcome to Web Components! The building blocks are well known: HTML templates, custom elements, HTML imports, and shadow DOM. It's fairly easy to build simple examples. But what happens when performance degrades? Join this discussion of the synchronous and asynchronous nature of web components, and how they can impact the rendering of the entire page.
Presentation at WebPerfDays Amsterdam, May 18 2013.
This newish browser API can be used to gain insight in the load time of individual page resources. Does the API behave consistently and as expected? Short answer: no, not really. Long answer: view the presentation ;-)
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 sides gain is the other sides loss. Design and performance are indeed connected, but its more like the yin and yang. They arent 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. Theres 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.
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.
The document discusses techniques for loading JavaScript files to optimize website performance. It describes methods like splitting the initial payload, loading scripts asynchronously without blocking parsing and rendering, and deferring non-critical scripts. Examples of major sites like Gmail, Facebook, Google and Wikipedia that use these techniques are also provided.
The document discusses techniques for improving frontend web performance, including splitting codepayloads, loading scripts without blocking, and not scattering scripts across pages. It recommends focusing first on optimizing frontend performance since 80-90% of end user response time is spent loading frontend resources. Specific techniques include splitting JavaScript payloads into above-the-fold and below-the-fold code, using techniques like XHR and iframes to load scripts asynchronously without blocking page rendering, and avoiding placing inline scripts between stylesheets and other page resources.
Every URL visited from the Facebook iPhone app is done through a webview. Same with Twitter. Even if you don't have a mobile app, your website gets a lot of traffic from webviews. And yet, testing on webviews is challenging. There are significant performances differences between UIWebView vs WkWebView, and similarly for Android webview vs the new Chromium webview. And what about home screen apps?! In this talk, Steve Souders discusses the differences across webviews and how that affects performance of mobile web apps.
This document summarizes Steve Souders' presentation on web performance optimization (WPO). It discusses how speed is the most important website feature and outlines techniques to improve performance like optimizing assets, reducing page weight, and leveraging caching. It also covers emerging trends like SPDY and improvements to third-party content. The key takeaways are that WPO matters significantly, new standards are coming, and guarding against slow third-party code.
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.
This document discusses the importance of web performance optimization and techniques for improving page load speeds, particularly around optimizing JavaScript loading. It notes that speed is a critical user experience factor and outlines strategies like progressive rendering, loading scripts without blocking, and techniques like ControlJS for asynchronously downloading and delaying script execution. The document emphasizes the growing importance of mobile optimization and speed given rising usage on mobile devices.
Browser Wars Episode 1: The Phantom MenaceNicholas Zakas
油
This document summarizes the history and evolution of web browsers and internet technologies from the early 1990s to the late 1990s. It traces the development of key browsers like Netscape Navigator and Internet Explorer. It also outlines the introduction of important web standards like HTML, CSS, JavaScript and XML. Major events included the commercialization of the web in the mid-1990s, the browser wars between Netscape and Microsoft in the late 90s, and the consolidation of online services providers toward the end of the decade.
As browsers explode with new capabilities and migrate onto devices users can be left wondering, whats 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.
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 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
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!
The document summarizes Steve Souders' presentation on optimizing frontend performance of widgets. It discusses techniques for loading scripts asynchronously without blocking, such as XHR injection and loading scripts through DOM elements. It also provides case studies and recommendations for optimizing common third-party widgets like calendars, friend connectors, and blogs. The goal is to reduce page load times by splitting payloads, avoiding blocking scripts, and leveraging 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, everythings new, always... And we do all that for good user experience! We do all that to build the best possible web its 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 its about users, and behind closed doors, its 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 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?
際際滷s from my talk at Internetdagarna 2015, Stockholm
Scott Gledhill presents at Web Directions South Government 2008 in Canberra. You have sold the concepts of web standards to your company or boss, so what next? How do you make this work in the real workplace and what problems are you likely to encounter?
Java REST API Framework Comparison - PWX 2021Matt Raible
油
Use Spring Boot! No, use Micronaut!! Nooooo, Quarkus is the best!!!
There's a lot of developers praising the hottest, and fastest, Java REST frameworks: Micronaut, Quarkus, and Spring Boot. In this session, you'll learn how to do the following with each framework:
Build a REST API
Secure your API with OAuth 2.0
Optimize for production with Docker and GraalVM
I'll also share some performance numbers and pretty graphs to compare community metrics.
Related blog post: https://developer.okta.com/blog/2021/06/18/native-java-framework-comparison
This document summarizes Steve Souders' presentation on front-end performance. It discusses the importance of front-end optimization, providing statistics on how much JavaScript impacts page load times. It also offers best practices for optimizing assets like JavaScript, CSS, images and caching. These include techniques like concatenating and minifying files, leveraging the browser cache, using CDNs and prioritizing visible content. The document emphasizes strategies like progressive enhancement and rendering to improve perceived performance.
This is Steve Souders's talk at Amazon which I couldn't read in it's original pptx format (http://stevesouders.com/docs/amazon-20091030.pptx) since Keynote sucks at importing. It seems to render well here.
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 sides gain is the other sides loss. Design and performance are indeed connected, but its more like the yin and yang. They arent 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. Theres 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.
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.
The document discusses techniques for loading JavaScript files to optimize website performance. It describes methods like splitting the initial payload, loading scripts asynchronously without blocking parsing and rendering, and deferring non-critical scripts. Examples of major sites like Gmail, Facebook, Google and Wikipedia that use these techniques are also provided.
The document discusses techniques for improving frontend web performance, including splitting codepayloads, loading scripts without blocking, and not scattering scripts across pages. It recommends focusing first on optimizing frontend performance since 80-90% of end user response time is spent loading frontend resources. Specific techniques include splitting JavaScript payloads into above-the-fold and below-the-fold code, using techniques like XHR and iframes to load scripts asynchronously without blocking page rendering, and avoiding placing inline scripts between stylesheets and other page resources.
Every URL visited from the Facebook iPhone app is done through a webview. Same with Twitter. Even if you don't have a mobile app, your website gets a lot of traffic from webviews. And yet, testing on webviews is challenging. There are significant performances differences between UIWebView vs WkWebView, and similarly for Android webview vs the new Chromium webview. And what about home screen apps?! In this talk, Steve Souders discusses the differences across webviews and how that affects performance of mobile web apps.
This document summarizes Steve Souders' presentation on web performance optimization (WPO). It discusses how speed is the most important website feature and outlines techniques to improve performance like optimizing assets, reducing page weight, and leveraging caching. It also covers emerging trends like SPDY and improvements to third-party content. The key takeaways are that WPO matters significantly, new standards are coming, and guarding against slow third-party code.
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.
This document discusses the importance of web performance optimization and techniques for improving page load speeds, particularly around optimizing JavaScript loading. It notes that speed is a critical user experience factor and outlines strategies like progressive rendering, loading scripts without blocking, and techniques like ControlJS for asynchronously downloading and delaying script execution. The document emphasizes the growing importance of mobile optimization and speed given rising usage on mobile devices.
Browser Wars Episode 1: The Phantom MenaceNicholas Zakas
油
This document summarizes the history and evolution of web browsers and internet technologies from the early 1990s to the late 1990s. It traces the development of key browsers like Netscape Navigator and Internet Explorer. It also outlines the introduction of important web standards like HTML, CSS, JavaScript and XML. Major events included the commercialization of the web in the mid-1990s, the browser wars between Netscape and Microsoft in the late 90s, and the consolidation of online services providers toward the end of the decade.
As browsers explode with new capabilities and migrate onto devices users can be left wondering, whats 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.
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 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
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!
The document summarizes Steve Souders' presentation on optimizing frontend performance of widgets. It discusses techniques for loading scripts asynchronously without blocking, such as XHR injection and loading scripts through DOM elements. It also provides case studies and recommendations for optimizing common third-party widgets like calendars, friend connectors, and blogs. The goal is to reduce page load times by splitting payloads, avoiding blocking scripts, and leveraging 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, everythings new, always... And we do all that for good user experience! We do all that to build the best possible web its 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 its about users, and behind closed doors, its 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 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?
際際滷s from my talk at Internetdagarna 2015, Stockholm
Scott Gledhill presents at Web Directions South Government 2008 in Canberra. You have sold the concepts of web standards to your company or boss, so what next? How do you make this work in the real workplace and what problems are you likely to encounter?
Java REST API Framework Comparison - PWX 2021Matt Raible
油
Use Spring Boot! No, use Micronaut!! Nooooo, Quarkus is the best!!!
There's a lot of developers praising the hottest, and fastest, Java REST frameworks: Micronaut, Quarkus, and Spring Boot. In this session, you'll learn how to do the following with each framework:
Build a REST API
Secure your API with OAuth 2.0
Optimize for production with Docker and GraalVM
I'll also share some performance numbers and pretty graphs to compare community metrics.
Related blog post: https://developer.okta.com/blog/2021/06/18/native-java-framework-comparison
This document summarizes Steve Souders' presentation on front-end performance. It discusses the importance of front-end optimization, providing statistics on how much JavaScript impacts page load times. It also offers best practices for optimizing assets like JavaScript, CSS, images and caching. These include techniques like concatenating and minifying files, leveraging the browser cache, using CDNs and prioritizing visible content. The document emphasizes strategies like progressive enhancement and rendering to improve perceived performance.
This is Steve Souders's talk at Amazon which I couldn't read in it's original pptx format (http://stevesouders.com/docs/amazon-20091030.pptx) since Keynote sucks at importing. It seems to render well here.
This document outlines an agenda for a web performance training course. It introduces key concepts like why performance matters, how to define and measure performance metrics, and how to identify and address performance problems. It provides numerous links to tools and resources for auditing site performance, establishing performance budgets, monitoring performance over time, and optimizing code and assets to improve loading speed. The goal is to help attendees learn how to evaluate the performance of their sites and make them faster.
An walk-through of several JavaScript loading techniques with a characteristics table for each and at the end a decision tree to help you decide which technique to use.
Also, Chrome's silly preload logic!
The document is a bibliography that lists various sources related to being a pilot, including images of pilots, airplanes, pilot licenses, and articles about airplane crashes. The sources listed are a mix of images from websites like Bing and Wikipedia as well as articles from websites about becoming a pilot and understanding airplane crashes.
PrettyFaces: SEO, Dynamic, Parameters, Bookmarks, Navigation for JSF / JSF2 (...Lincoln III
油
PrettyFaces: SEO, Dynamic Parameters, Bookmarks, and Navigation for JSF / JSF2 - As presented at JSFSummit2009 in Orlando Florida.
Why should we use PrettyFaces?
The document discusses an upcoming Spring Framework workshop. It provides an agenda for the workshop that includes discussions on why Spring, new features in Spring 3.0, the Spring core container, Spring JDBC, AOP, EhCache, Spring Web MVC, and basic workshop requirements. It also lists some source code resources and example applications to use during the workshop.
JBUG 11 - Django-The Web Framework For Perfectionists With DeadlinesTikal Knowledge
油
The document discusses Django, an open-source web framework for Python. It highlights how Django can shorten development time for web applications by automating common tasks. It provides examples of how Django handles data modeling, views, templates, and other features out of the box. The document also lists many successful websites built with Django that demonstrate its performance, scalability, and popularity in the developer community.
This document is the HTML code for the upload page on the 際際滷Share website. It includes metadata, scripts, and styling to display the page content which encourages users to discover, share and present presentations, infographics and videos on the largest professional content sharing community. The page code provides options for users to upload, login or sign up for an account.
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.
Front End Development for Back End Java Developers - Jfokus 2020Matt Raible
油
The document is a presentation about front end development for back end Java developers. It discusses topics like JavaScript, TypeScript, build tools, CSS frameworks, front end performance, and progressive web apps. It also provides introductions and comparisons of popular JavaScript frameworks like Angular, React, and Vue. The presentation encourages attendees to learn new front end skills and try building something with a front end framework.
Facebook Development with Zend FrameworkBrett Harris
油
The document discusses developing Facebook applications using the Zend Framework. It covers challenges like publicly accessible development environments and differences from normal web development. It also describes using a proxy pattern to mock Facebook APIs locally and parsing FBML tags. The document advocates using an active record pattern to access Facebook data and building UI components to wrap AJAX libraries for multi-application interfaces.
A presentation for Dundee University's Hack Day explaining the technologies to use and how to hack your own APIs by using Yahoo! Pipes and scraping RSS feeds.
Using HTML5 provides a great open web platform with new semantic elements like <header>, <nav>, <article>, and <aside> that improve accessibility. It introduces many new form input types, web storage APIs like localStorage and IndexedDB, offline capabilities, and technologies like geolocation, video, canvas, and WebGL that enable creative applications. HTML5 aims to standardize these new features for a better user experience across browsers.
The document provides an overview of using GermaniumWeb for 3D mapping and visualization. It discusses setting up the development environment, common tasks like loading buildings and placing markers, and how GermaniumWeb works within a typical web environment. It also describes modeling options like importing KML buildings and using COLLADA, and deploying custom built models by hosting files on the web server and using relative paths.
Exploring the Sweet Spot: Geolocation, Health, and Gov-data Lance Roggendorff
油
Location based services are increasingly important, especially when it comes to accessing health information and services. Over the past year and a half, AIDS.gov, a program of the U.S. Department of Health and Human Services, Office of HIV/AIDS Policy, has been collaborating with other Federal agencies (CDC, HUD, SAMHSA, among others) to develop an HIV/AIDS prevention and service locator. This new tool combines key Federal HIV/AIDS programs such as HIV testing, mental health services, health centers, substance abuse clinics, and housing services. Each of these programs is run by a separate agency and pulls information from a wide range of sources. Beyond addressing what it took to get each agency to collaborate and push their data in a consumable format, this presentation will focus on the steps AIDS.gov took to create this locator service. We take a technical approach to discuss the GeoRSS standard, how we built the service using mostly JavaScript, and how we pushed this service to mobile, standard web, and native application platforms. We will also talk about the iterative design and development process, and we tie it all together with the big ticket: the sweet spot of location, mobile, and health. We cover it all, location, Health IT, and Gov 2.0.
The Structure of Web Code: A Case For Polymer, November 1, 2014Tommie Gannert
油
About using Polymer (http://polymer-project.org/) to achieve better structure of the frontend code than with other tools.
Part of the Dublin GDG Dev Fest.
Fisl 11 - Dicas de Desenvolvimento Web com RubyFabio Akita
油
Performance de sites n達o tem a ver com a linguagem usada por baixo. O impacto maior 辿 a arquitetura. Nesta palestra falo sobre YSlow, Resque e Solr como algumas das coisas que podemos fazer para melhorar a performance/escalabilidade de aplica巽探es web.
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 ways to make JavaScript faster in web pages. It recommends loading scripts asynchronously or with defer, preloading scripts, reducing CPU time spent evaluating scripts and function calls, budgeting third-party scripts, ensuring proper compression of scripts, and reviewing code coverage to optimize performance.
Which would you rather have: a website thats fast or a website thats perceived as fast? The answer is Both! The list of performance best practices is long and well known, but theres been less focus on the users perception of speed. In this presentation Steve Souders provides examples of how the perception of speed is completely independent of actual speed, and techniques for leveraging this perception gap to create websites that feel fast.
How many photo carousels have you built? Date pickers? Dynamic tables and charts? Wouldn't it be great if there was a way to make these custom elements encapsulated and reusable? Welcome to Web Components! The building blocks are well known: HTML templates, custom elements, HTML imports, and shadow DOM. It's fairly easy to build simple examples. But what happens when performance degrades? Join this discussion of the synchronous and asynchronous nature of web components, and how they can impact the rendering of the entire page.
Cache is King discusses the importance of caching for website performance. It shows that enabling caching through techniques like setting Cache-Control headers can reduce page load times significantly. Specifically, using max-age to set expiration times for cacheable assets avoids unnecessary HTTP requests. For dynamic content, no-cache must be used to prevent caching. The document advocates being explicit with caching directives and measuring caching behavior to identify opportunities to optimize websites for cached access.
1. Synchronous scripts block page rendering, so scripts should be loaded asynchronously.
2. Front-end dependencies like social media widgets can cause slowdowns if they fail to load. Blackholing domains in tests can show these slowdowns.
3. "Bootstrap scripts" from content delivery networks often have short cache times, increasing chances of failures. But they can be made self-updating while keeping long cache times.
All of us have a lurking failure in our websites: 3rd party scripts from ads, widgets, and analytics. How is it that one script can bring down your website?
CouchDB is a document-oriented NoSQL database that uses JSON documents with schema-free design. It features a built-in map/reduce function for querying indexes, and uses HTTP for an API and replication. CouchDB is robust, scales well, and is designed for high availability through its append-only writing and multi-version concurrency control.
Browserscope is an open-source project that profiles browsers to foster innovation and help web developers. It uses crowdsourcing to run tests on a wide variety of browsers and systems, aggregating the results to reduce biases and immediately detect changes in new and existing browsers. The current test categories examine network performance, Acid3 compliance, JavaScript and CSS capabilities, and rich text editing functions.
Presented at SXSW '09, this talk covers five best practices from my next book: Load scripts without blocking, Coupling asynchronous scripts, Don't scatter inline scripts, Use iframes sparingly, and Flush the document early.
10. Site speed in search rankScreen shot of blog postwe've decided to take site speed into account in our search rankings.googlewebmastercentral.blogspot.com/2010/04/using-site-speed-in-web-search-ranking.html
52. top 10 WPO predictions10. fast-by-default9. visibility into the browser8. consolidation7. TCP, HTTP6. standards5. industry organizations4. data3. green2. mobile1. speeds a differentiatorflickr.com/photos/eole/380316678/
53. P3PCPerformance of 3rd Party ContentAdsWidgetsAnalyticsflickr.com/photos/ntr23/729463293/
57. if (q.insertBefore) {var s = _get(q.insertBefore, id); if (s) {s.parentNode.insertBefore(n, s); }} else {h.appendChild(n);}- YUI Loader 2.6.0 (2008)flickr.com/photos/amodiovalerioverde/425333516/appendChild or insertBefore?
58. b = this.getHardpoint(); f = document.createElement('script');f.src = g;f.type = 'text/javascript';f.async = true;b.appendChild(f);getHardpoint: function() {var c, b = document.getElementsByTagName('head'); if (b.length) { c = b[0]; } else c = document.body;this._hardpoint = c;}- Facebook (April 18, 2010)flickr.com/photos/amodiovalerioverde/425333516/appendChild or insertBefore?
59. head = document.getElementsByTagName ("head")[0] || document.documentElement;// Use insertBefore instead of appendChild油to circumvent an IE6 bug.// This arises when a base node is used (#2709 and #4378).head.insertBefore(script, head.firstChild);- jQueryflickr.com/photos/amodiovalerioverde/425333516/appendChild or insertBefore?
60. var f=document.getElementsByTagName("script");var b=f[f.length-1]; // b is last script tagif(b==null){ return; }vari=document.createElement("script");i.language="javascript"; // i is a script elementi.setAttribute("type","text/javascript");var j=""; // j is a stringj+="document.write('<scr'+'ipt language=\"javascript\" src=\""+c+"\"></scr'+'ipt>');";var g=document.createTextNode(j); // not usedb.parentNode.insertBefore(i,b);appendChild(i,j);function appendChild(a,b){ if(null==a.canHaveChildren||a.canHaveChildren){a.appendChild(document.createTextNode(b)); } else{ a.text=b;}}- Collective Mediaflickr.com/photos/amodiovalerioverde/425333516/appendChild or insertBefore?
61. Frag TagAlex Russellsnippet<FRAG><script src=snippet.js></script></FRAG>doesnt block renderingasyncdocument.writeJavaScript sandboxingjust a twinkle in my eyefrag tagflickr.com/photos/bestrated1/2141687384/
76. Bothcombine scriptscombine stylesheetsadd an Expires headergzip responsesput stylesheets at the topput scripts at the bottomavoid CSS expressionsmake JS and CSS externalreduce DNS lookupsminify JS and CSSavoid redirectsremove duplicate scriptsmake Ajax cacheablereduce cookie sizeuse cookie-free domainsdon't scale imagesYSlowuse CSS spritesuse a CDNconfigure ETagsuse GET for Ajax requestsreduce # of DOM elementsno 404savoid image filtersoptimize faviconPage Speeddefer loading JSremove unused CSSuse efficient CSS selectorsoptimize imagesoptimize order of CSS & JSshard domainsleverage proxy caching
79. speed mattersa lot is coming in WPOguard against 3rd party contentstevesouders.com/cache.phptakeawaysflickr.com/photos/34771728@N00/361526991/
#4: Fred Wilson is Managing Partner of two venture capital firms, Flatiron Partners (Yoyodyne, Geocities) and Union Square Ventures (Twitter, delicious,Etsy, Feedburner).SpeedInstant utilitySoftware is mediaLess is moreMake it programmableMake it personalRESTfulDiscoverabilityCleanPlayful
#8: if were able to achieve a similar performance boost across ourothertoplanding pages, well drive in excess of 60 million yearly Firefox downloads.