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
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 ;-)
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 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.
The document discusses the frontend single point of failure (SPOF) problem caused by blocking JavaScript and CSS files. It provides examples of popular websites, code libraries, widgets, and content management systems that contribute to frontend SPOFs. The document recommends solutions for browsers, widget owners, CMS developers, and site owners to address this issue through asynchronous loading of resources and better monitoring of frontend performance.
This document summarizes techniques for optimizing image delivery on mobile websites. It discusses 4 key optimizations: adjusting image quality, choosing optimal file formats like WebP, sizing images responsively, and lazy loading images below the fold. The document shows that these techniques can significantly reduce image file sizes and page load times based on analyses of 500,000 mobile sites. Specific tools are recommended for automating quality adjustments, format conversion, and responsive image breakpoint generation. Lazy loading is shown to improve user experience by deferring loading of off-screen images. Overall, the techniques can help images remain fast to load while retaining high quality for modern responsive delivery.
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
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 ;-)
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 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.
The document discusses the frontend single point of failure (SPOF) problem caused by blocking JavaScript and CSS files. It provides examples of popular websites, code libraries, widgets, and content management systems that contribute to frontend SPOFs. The document recommends solutions for browsers, widget owners, CMS developers, and site owners to address this issue through asynchronous loading of resources and better monitoring of frontend performance.
This document summarizes techniques for optimizing image delivery on mobile websites. It discusses 4 key optimizations: adjusting image quality, choosing optimal file formats like WebP, sizing images responsively, and lazy loading images below the fold. The document shows that these techniques can significantly reduce image file sizes and page load times based on analyses of 500,000 mobile sites. Specific tools are recommended for automating quality adjustments, format conversion, and responsive image breakpoint generation. Lazy loading is shown to improve user experience by deferring loading of off-screen images. Overall, the techniques can help images remain fast to load while retaining high quality for modern responsive delivery.
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.
Front End Development for Back End Developers - vJUG24 2017Matt Raible
Are you a backend developer that’s being pushed into front-end development? Are you frustrated with all JavaScript frameworks and build tools you have to learn to be a good UI developer? If so, this session is for you! We’ll explore the tools for frontend development and frameworks too!
Streamed live at 8pm MST on Oct 25, 2017! https://virtualjug.com/vjug24/
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.
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.
This document discusses improving predictability for web developers. It describes challenges like cross-browser inconsistencies that make development difficult. The authors outline efforts by Chrome to address these issues, such as collaborating with other browsers, listening to developers, and minimizing breaking changes. Developers are encouraged to test new browser features, file bugs, and provide feedback to help continue enhancing predictability.
How to Win at UI Development in the World of Microservices - THAT Conference ...Matt Raible
You've figured out how to split up your backend services into microservices and scale your teams to the moon! But what about the front-end? Are you still building monoliths for your UI? This session will talk about the history of web frameworks, the microservices explosion, and techniques + frameworks for complementing your microservices with micro frontends. It'll include developer stories from folks implementing micro frontends and recommendations for learning more about them.
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.
Spring Boot APIs and Angular Apps: Get Hip with JHipster! KCDC 2019Matt Raible
JHipster is bad-ass. It's an Apache-licensed open source project that allows you to generate Spring Boot APIs and Angular (or React!) apps. It has a vibrant community and ecosystem with support for deploying to many cloud providers and using the latest DevOps buzzwords, like Docker and K8s.
This session will show you JHipster, why it's cool, and show you how to create an app with it.
* Demo Code: https://github.com/mraible/jhipster6-demo
* JHipster + OIDC: https://developer.okta.com/blog/2019/04/04/java-11-java-12-jhipster-oidc
* JHipster + Microservices: https://developer.okta.com/blog/2019/05/23/java-microservices-spring-cloud-config
* JHipster + Ionic: https://developer.okta.com/blog/2019/06/24/ionic-4-angular-spring-boot-jhipster
* JHipster + React Native: https://developer.okta.com/blog/2018/10/10/react-native-spring-boot-mobile-app
Front End Development for Backend Developers - GIDS 2019Matt Raible
Are you a backend developer that's being pushed into front-end development? Are you frustrated with all JavaScript frameworks and build tools you have to learn to be a good UI developer? If so, this session is for you! We'll explore the tools for frontend development and frameworks too!
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.
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.
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.
Bootiful Development with Spring Boot and React - UberConf 2018Matt Raible
To simplify development and deployment, you want everything in the same artifact, so you put your React app “inside” your Spring Boot app, right? But what if you could create your React app as a standalone app and make cross-origin requests to your API? A client app that can point to any server makes it easy to test your current client code against other servers (e.g. test, staging, production). This session shows how to develop with Java 8, Spring Boot, React, and TypeScript. You’ll learn how to create REST endpoints with Spring MVC, configure Spring Boot to allow CORS, and create a React app to display its data. If time allows we’ll cover authentication with OpenID Connect and deployment to Cloud Foundry.
Blog: https://developer.okta.com/blog/2017/12/06/bootiful-development-with-spring-boot-and-react
GitHub: https://github.com/oktadeveloper/spring-boot-react-example
The document discusses progressive web apps (PWAs) and outlines key considerations for creating a PWA. It addresses questions around what a PWA is, how to make a website feel like an app, offline functionality, push notifications, and creating a roadmap. Examples from companies that implemented PWAs successfully are provided. The conclusion recommends developing a progressive roadmap that starts with baseline PWA features and builds out functionality over time based on priorities and initiatives.
Front End Development for Back End Java Developers - NYJavaSIG 2019Matt Raible
Are you a backend Java developer that's being pushed into front-end development? Are you frustrated with all the JavaScript frameworks and build tools you have to learn to be a good UI developer? If so, this session is for you! We'll explore the landscape of UI development, including web standards, frameworks, and what’s on the horizon (e.g., micro frontends).
A Gentle Introduction to Angular Schematics - Angular SF 2019Matt Raible
You might’ve heard of Angular Schematics, but do you know what they do? Learn how you can use this powerful tool to develop workflows and simplify configurations for your Angular projects.
Blog post: https://developer.okta.com/blog/2019/02/13/angular-schematics
Source code: https://github.com/oktadeveloper/okta-angular-schematics-example
Screencast: https://youtu.be/ANwZIt3Ni2s
MeasureWorks - Shoppingtoday - 5 must-do's for the holiday seasonMeasureWorks
Slides from my session at Shoppingtoday 2015, a 5 step approach to get your site fast and ready for peak volumes for your customers during the holidays season...
MeasureWorks - Design for Fast ExperiencesMeasureWorks
Slides from my session at Multichannel Conference 2015... You never get a second chance to make a first impression. The same goes for online, where the decision to bounce is often made in the first 2 seconds, and Google will lower your ranking if your site is too slow... This talks is about why we should care about speed, how to improve design with speed and how to measure & optimize speed...
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.
Front End Development for Back End Developers - vJUG24 2017Matt Raible
Are you a backend developer that’s being pushed into front-end development? Are you frustrated with all JavaScript frameworks and build tools you have to learn to be a good UI developer? If so, this session is for you! We’ll explore the tools for frontend development and frameworks too!
Streamed live at 8pm MST on Oct 25, 2017! https://virtualjug.com/vjug24/
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.
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.
This document discusses improving predictability for web developers. It describes challenges like cross-browser inconsistencies that make development difficult. The authors outline efforts by Chrome to address these issues, such as collaborating with other browsers, listening to developers, and minimizing breaking changes. Developers are encouraged to test new browser features, file bugs, and provide feedback to help continue enhancing predictability.
How to Win at UI Development in the World of Microservices - THAT Conference ...Matt Raible
You've figured out how to split up your backend services into microservices and scale your teams to the moon! But what about the front-end? Are you still building monoliths for your UI? This session will talk about the history of web frameworks, the microservices explosion, and techniques + frameworks for complementing your microservices with micro frontends. It'll include developer stories from folks implementing micro frontends and recommendations for learning more about them.
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.
Spring Boot APIs and Angular Apps: Get Hip with JHipster! KCDC 2019Matt Raible
JHipster is bad-ass. It's an Apache-licensed open source project that allows you to generate Spring Boot APIs and Angular (or React!) apps. It has a vibrant community and ecosystem with support for deploying to many cloud providers and using the latest DevOps buzzwords, like Docker and K8s.
This session will show you JHipster, why it's cool, and show you how to create an app with it.
* Demo Code: https://github.com/mraible/jhipster6-demo
* JHipster + OIDC: https://developer.okta.com/blog/2019/04/04/java-11-java-12-jhipster-oidc
* JHipster + Microservices: https://developer.okta.com/blog/2019/05/23/java-microservices-spring-cloud-config
* JHipster + Ionic: https://developer.okta.com/blog/2019/06/24/ionic-4-angular-spring-boot-jhipster
* JHipster + React Native: https://developer.okta.com/blog/2018/10/10/react-native-spring-boot-mobile-app
Front End Development for Backend Developers - GIDS 2019Matt Raible
Are you a backend developer that's being pushed into front-end development? Are you frustrated with all JavaScript frameworks and build tools you have to learn to be a good UI developer? If so, this session is for you! We'll explore the tools for frontend development and frameworks too!
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.
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.
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.
Bootiful Development with Spring Boot and React - UberConf 2018Matt Raible
To simplify development and deployment, you want everything in the same artifact, so you put your React app “inside” your Spring Boot app, right? But what if you could create your React app as a standalone app and make cross-origin requests to your API? A client app that can point to any server makes it easy to test your current client code against other servers (e.g. test, staging, production). This session shows how to develop with Java 8, Spring Boot, React, and TypeScript. You’ll learn how to create REST endpoints with Spring MVC, configure Spring Boot to allow CORS, and create a React app to display its data. If time allows we’ll cover authentication with OpenID Connect and deployment to Cloud Foundry.
Blog: https://developer.okta.com/blog/2017/12/06/bootiful-development-with-spring-boot-and-react
GitHub: https://github.com/oktadeveloper/spring-boot-react-example
The document discusses progressive web apps (PWAs) and outlines key considerations for creating a PWA. It addresses questions around what a PWA is, how to make a website feel like an app, offline functionality, push notifications, and creating a roadmap. Examples from companies that implemented PWAs successfully are provided. The conclusion recommends developing a progressive roadmap that starts with baseline PWA features and builds out functionality over time based on priorities and initiatives.
Front End Development for Back End Java Developers - NYJavaSIG 2019Matt Raible
Are you a backend Java developer that's being pushed into front-end development? Are you frustrated with all the JavaScript frameworks and build tools you have to learn to be a good UI developer? If so, this session is for you! We'll explore the landscape of UI development, including web standards, frameworks, and what’s on the horizon (e.g., micro frontends).
A Gentle Introduction to Angular Schematics - Angular SF 2019Matt Raible
You might’ve heard of Angular Schematics, but do you know what they do? Learn how you can use this powerful tool to develop workflows and simplify configurations for your Angular projects.
Blog post: https://developer.okta.com/blog/2019/02/13/angular-schematics
Source code: https://github.com/oktadeveloper/okta-angular-schematics-example
Screencast: https://youtu.be/ANwZIt3Ni2s
MeasureWorks - Shoppingtoday - 5 must-do's for the holiday seasonMeasureWorks
Slides from my session at Shoppingtoday 2015, a 5 step approach to get your site fast and ready for peak volumes for your customers during the holidays season...
MeasureWorks - Design for Fast ExperiencesMeasureWorks
Slides from my session at Multichannel Conference 2015... You never get a second chance to make a first impression. The same goes for online, where the decision to bounce is often made in the first 2 seconds, and Google will lower your ranking if your site is too slow... This talks is about why we should care about speed, how to improve design with speed and how to measure & optimize speed...
This document discusses the process of rendering views and pixels on the screen from a high level object to pixels. It covers the key steps of measure, layout, and draw and explains important concepts like double buffering, vsync, and avoiding overdraw. Key topics include how the GPU helps with rasterization, using viewtreeobserver for size changes, different root view types, and using constraint layout for a more optimized layout. It emphasizes best practices like minimizing unnecessary layout requests and using tools like hierarchy viewer and GPU profiling.
SEO Performance Report Sample, SEO Work Reporting for Weekly, Monthly Client's. Advanced SEO Work Report, SEO Project Management Tool
Visit here for SEO Reporting : https://vidupm.com/
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.
This document provides instructions on how to create a basic "Hello Widget" Android widget app. It discusses creating a new Android project, designing the widget layout with XML, adding code to the AppWidgetProvider to handle updates, and testing the widget. It also provides an example of adding interactivity by coding buttons on the widget and handling button clicks by launching an activity. The document history section lists the document versions and authors.
This document provides instructions on how to create a basic "Hello Widget" Android widget app. It discusses creating a new Android project, designing the widget layout with XML, adding code to the manifest file, and creating an AppWidgetProvider class. It then expands on this with two examples - one that displays the current time by updating every second, and one that shows how to add buttons to a widget and handle button clicks.
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.
The ultimate guide to optimize your react native app performance in 2022Katy Slemon
Improve Your React Native app performance. Go through this guide to Speed up the performance of Android and iOS applications with our ultimate strategies.
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!
Winning with mobile page speed: killer technologies, tools, and tips [by Aleh...Link-Assistant.Com
- Google is focusing on mobile page speed and user experience as part of its search rankings. A study was conducted analyzing the page speed and optimization of over 1 million pages.
- The results showed that optimization score, which measures how well a page leverages browser caching and prioritizes visible content, had a strong correlation with search rankings. However, page speed metrics like first content paint and load time did not correlate as much.
- This indicates that for mobile search rankings, page optimization is more important than raw speed numbers. Site owners should focus on optimizing aspects like response time, redirects, compression, caching, and prioritizing visible content to improve rankings.
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.
MeasureWorks - Design for Fast Experiences (Startup session).keyMeasureWorks
Slides from my session at StartupBootcamp Smart City & Living program... You never get a second chance to make a first impression. The same goes for online, where the decision to bounce is often made in the first 2 seconds, and Google will lower your ranking if your site is too slow... This talks is about why startups should care about speed when building product, how to improve design with speed and how to measure & optimize speed and beat the (corporate) competition...
Mobile First: Responsive Design for eCommerce | Imagine 2013 Technology | B…Atwix
The document discusses responsive design strategies for ecommerce, focusing on topics like content-first design, performance optimization, responsive images, frontend frameworks, checkout workflows, and adapting extensions and widgets. It provides examples of responsive sites and recommendations for implementing responsive design best practices for a variety of technical and content-related challenges in ecommerce. The presentation emphasizes the importance of planning content strategies that work across devices before implementing design and technology solutions.
MeasureWorks - Velocity Europe - Real World RumMeasureWorks
Slides from Velocity Conference Europe 2013 from my joint session with @bbrewer (Soasta). The talk covers implementation, analysis techniques and how you as the performance team can use RUM data to persuade and justify investments in changes that lead to improved performance....
This document discusses optimizing images for fast loading on mobile devices. It recommends four simple image optimizations: 1) reducing image quality to 85%, 2) using efficient formats like WebP and SVG, 3) sizing images appropriately for the viewport, and 4) lazy loading images below the fold. Data from the HTTP Archive is presented showing the prevalence and impact of these optimizations. Specific techniques like responsive images and image processing tools are also outlined.
Ruby on Rails Performance Tuning. Make it faster, make it better (WindyCityRa...John McCaffrey
(reposting with clearer title)
Performance tuning presentation from WindyCityRails 2010.
Why performance matters
The right way to approach it
Front end testing tools
Automated testing tools
Common problems and the ways to solve them in Rails
Rails specific tools
bullet
slim_scrooge
rack bug
request log analyzer
rails indexes
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
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
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 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
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.
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.
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
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
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.
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.
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
The "Zen" of Python Exemplars - OTel Community DayPaige Cruz
The Zen of Python states "There should be one-- and preferably only one --obvious way to do it." OpenTelemetry is the obvious choice for traces but bad news for Pythonistas when it comes to metrics because both Prometheus and OpenTelemetry offer compelling choices. Let's look at all of the ways you can tie metrics and traces together with exemplars whether you're working with OTel metrics, Prom metrics, Prom-turned-OTel metrics, or OTel-turned-Prom metrics!
Test Case Design Techniques as chapter 4 of ISTQB Foundation. Topics included are Equivalence Partition, Boundary Value Analysis, State Transition Testing, Decision Table Testing, Use Case Testing, Statement Coverage, Decision Coverage, Error Guessing, Exploratory Testing, Checklist Based Testing
Communications Mining Series - Zero to Hero - Session 2DianaGray10
This session is focused on setting up Project, Train Model and Refine Model in Communication Mining platform. We will understand data ingestion, various phases of Model training and best practices.
• Administration
• Manage Sources and Dataset
• Taxonomy
• Model Training
• Refining Models and using Validation
• Best practices
• Q/A
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 time, we're diving into the murky waters of the Fuxnet malware, a brainchild of the illustrious Blackjack hacking group.
Let's set the scene: Moscow, a city unsuspectingly going about its business, unaware that it's about to be the star of Blackjack's latest production. The method? Oh, nothing too fancy, just the classic "let's potentially disable sensor-gateways" move.
In a move of unparalleled transparency, Blackjack decides to broadcast their cyber conquests on ruexfil.com. Because nothing screams "covert operation" like a public display of your hacking prowess, complete with screenshots for the visually inclined.
Ah, but here's where the plot thickens: the initial claim of 2,659 sensor-gateways laid to waste? A slight exaggeration, it seems. The actual tally? A little over 500. It's akin to declaring world domination and then barely managing to annex your backyard.
For Blackjack, ever the dramatists, hint at a sequel, suggesting the JSON files were merely a teaser of the chaos yet to come. Because what's a cyberattack without a hint of sequel bait, teasing audiences with the promise of more digital destruction?
-------
This document presents a comprehensive analysis of the Fuxnet malware, attributed to the Blackjack hacking group, which has reportedly targeted infrastructure. The analysis delves into various aspects of the malware, including its technical specifications, impact on systems, defense mechanisms, propagation methods, targets, and the motivations behind its deployment. By examining these facets, the document aims to provide a detailed overview of Fuxnet's capabilities and its implications for cybersecurity.
The document offers a qualitative summary of the Fuxnet malware, based on the information publicly shared by the attackers and analyzed by cybersecurity experts. This analysis is invaluable for security professionals, IT specialists, and stakeholders in various industries, as it not only sheds light on the technical intricacies of a sophisticated cyber threat but also emphasizes the importance of robust cybersecurity measures in safeguarding critical infrastructure against emerging threats. Through this detailed examination, the document contributes to the broader understanding of cyber warfare tactics and enhances the preparedness of organizations to defend against similar attacks in the future.
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!
Cassandra to ScyllaDB: Technical Comparison and the Path to SuccessScyllaDB
What can you expect when migrating from Cassandra to ScyllaDB? This session provides a jumpstart based on what we’ve learned from working with your peers across hundreds of use cases. Discover how ScyllaDB’s architecture, capabilities, and performance compares to Cassandra’s. Then, hear about your Cassandra to ScyllaDB migration options and practical strategies for success, including our top do’s and don’ts.
Tool Support for Testing as Chapter 6 of ISTQB Foundation 2018. Topics covered are Tool Benefits, Test Tool Classification, Benefits of Test Automation and Risk of Test Automation
Chapter 3 of ISTQB Foundation 2018 syllabus with sample questions. Answers about what is static testing, what is review, types of review, informal review, walkthrough, technical review, inspection.
Move Auth, Policy, and Resilience to the PlatformChristian Posta
Developer's time is the most crucial resource in an enterprise IT organization. Too much time is spent on undifferentiated heavy lifting and in the world of APIs and microservices much of that is spent on non-functional, cross-cutting networking requirements like security, observability, and resilience.
As organizations reconcile their DevOps practices into Platform Engineering, tools like Istio help alleviate developer pain. In this talk we dig into what that pain looks like, how much it costs, and how Istio has solved these concerns by examining three real-life use cases. As this space continues to emerge, and innovation has not slowed, we will also discuss the recently announced Istio sidecar-less mode which significantly reduces the hurdles to adopt Istio within Kubernetes or outside Kubernetes.
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
Day 4 - Excel Automation and Data ManipulationUiPathCommunity
👉 Check out our full 'Africa Series - Automation Student Developers (EN)' page to register for the full program: https://bit.ly/Africa_Automation_Student_Developers
In this fourth session, we shall learn how to automate Excel-related tasks and manipulate data using UiPath Studio.
📕 Detailed agenda:
About Excel Automation and Excel Activities
About Data Manipulation and Data Conversion
About Strings and String Manipulation
💻 Extra training through UiPath Academy:
Excel Automation with the Modern Experience in Studio
Data Manipulation with Strings in Studio
👉 Register here for our upcoming Session 5/ June 25: Making Your RPA Journey Continuous and Beneficial: https://community.uipath.com/events/details/uipath-lagos-presents-session-5-making-your-automation-journey-continuous-and-beneficial/
Corporate Open Source Anti-Patterns: A Decade LaterScyllaDB
A little over a decade ago, I gave a talk on corporate open source anti-patterns, vowing that I would return in ten years to give an update. Much has changed in the last decade: open source is pervasive in infrastructure software, with many companies (like our hosts!) having significant open source components from their inception. But just as open source has changed, the corporate anti-patterns around open source have changed too: where the challenges of the previous decade were all around how to open source existing products (and how to engage with existing communities), the challenges now seem to revolve around how to thrive as a business without betraying the community that made it one in the first place. Open source remains one of humanity's most important collective achievements and one that all companies should seek to engage with at some level; in this talk, we will describe the changes that open source has seen in the last decade, and provide updated guidance for corporations for ways not to do it!
12. Base of good practices already in place
Using HTTP/2 and CDN
Compression enabled for text resources (& minification)
Images optimised using a specialised service
Responsive images
Bundling assets
49. Visualising JavaScript and CSS bundles can be a
great conversation starter
“How much of
this is used?”
“Suspect we can
remove this”
50. Visualising JavaScript and CSS bundles can be a
great conversation starter
Shrunk download size of core
script bundle by 42%
(uncompressed size by 55%)
51.
52. Performance Improvements were mostly dull,
boring stuff
Removing unused / un-needed code
Removing duplicate styles
Replacing social media libraries with ordinary links
Moving 3rd party libraries onto Missguided domain
Adding Resource Hints - preconnect, dns-prefetch
Defering loading until later where possible
53. Cleaned up Optimizely
Switched to Optimizely to use jQuery on the page
rather than bundled version
Removed A/A tests (were being used as Hotfixes)
Stripped out duplicate plugins, experiments for other
environments, and expired ones
60. https://bugs.webkit.org/show_bug.cgi?id=179231
It’s a Safari pre-loader bug!
The `type` attribute in <source> tags are ignored by the preloader. A common pattern is to use the
<source> tag for content negotiation selection to specify webp for chrome and jp2 for safari. For
example:
<picture>
<source type="image/webp" srcset="foo.webp">
<source type="image/jp2" srcset="foo.jp2">
<img src="foo.jpg">
</picture>
However, the HTMLPreloadScanner only considers the media query when selecting (or not) the
appropriate <source> element. As a result the preloader greedily selects the foo.webp and then later
requests the correct foo.jpg. It should also evaluate the `type` attribute.
61. Optimizely snippet got larger (temporarily)
While switching out Optimizely’s jQuery some
extensions needed to be duplicated
This made the bundle larger and slower until the
migration was completed
69. Linking revenue increases to performance
improvements is still hard…
Many other factors to account for including:
Pricing
Promotions
New brands
Trends
Seasonality
etc.
70. Optimizely needs careful management
Easy to blow-up the script size
Optimizely are working on features to help
They also capture performance data and will share