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 ;-)
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.
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.
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
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 ;-)
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.
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.
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 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 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.
GDD Japan 2009 - Designing OpenSocial Apps For Speed and ScalePatrick Chanezon
Google Developer Days Japan 2009 - Designing OpenSocial Apps For Speed and Scale
Original slides from Arne Roomann-Kurrik & Chris Chabot with a few Zen quotes and references added by me:-)
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.
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/
Page Speed Insights: The Ballad of Improving PerformanceJames McNulty
Site speed is important for your bottom line and understandably, with so many metrics and details, it can get confusing. This session should help the audience understand how important performance is to Google, and the why and how webmasters can take initiative to improve.
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.
Edge 2016 service workers and other front end techniquesakamaidevrel
This document discusses using service workers and other front-end techniques to create a secure and optimal site. It describes how service workers can be used to control third-party content, such as by implementing client reputation strategies to block requests from untrusted sources. Examples are given of how service workers could maintain counters to throttle requests to third-party domains that exceed timeout thresholds, and serve cached or error responses when thresholds are exceeded. The document also discusses how service workers could be leveraged for offline analytics reporting and metric monitoring to reduce risks compared to traditional third-party JavaScript techniques.
This document provides an overview of popular JavaScript libraries including Dojo Toolkit, YUI, Prototype, and jQuery. It discusses problems they aim to solve like cross-browser inconsistencies. Key features of each library are mentioned like Dojo's widgets, YUI's controls, Prototype's Ruby-like syntax, and jQuery's chaining and node selection. The document also covers ideas from the libraries like progressive enhancement, animation APIs, and leveraging hosting on CDNs.
Migrating existing monolith to serverless in 8 stepsYan Cui
The document discusses refactoring a monolithic application to a serverless architecture in 8 steps. It covers identifying service boundaries, organizing code into separate repositories for each service, choosing deployment tools, keeping functions simple and single-purpose, and migrating features to new services incrementally while maintaining compatibility with the existing monolith. The goal is to break the application into small, autonomous services that can be developed and deployed independently for improved scalability, resilience and development velocity.
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.
Web Performance in the Age of HTTP2 - Topconf Tallinn 2016 - Holger BartelHolger Bartel
Web performance optimisation has been gaining ground and is slowly getting more of its deserved recognition.
Nevertheless, much of our time on the web is still used up by waiting. To decrease our wait time and improve the web’s overall performance, this integral part of user experience needs further promotion.
Waiting and the perception of time itself, is reason enough to explore some of the psychological effects time has on our users, too.
Passing time also plays a big role in the evolution of technologies. Through the history of HTTP we have reached the latest version as HTTP/2, which will turn some of our existing web performance best practices on their head and into the new anti-patterns of today.
React is a UI library that is changing the way web applications are written. While there are many benefits to using React, managing an application's complexity as it scales is one of the most powerful.
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.
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.
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.
Adrian Gregory, Success Growth Team Lead at Optimizely
Peter Hastie, Front-end Developer at Bleacher Report
Chris Moen, Lead Web Developer at CityPASS
The Developer Showcase highlights useful tips and tricks directly from developers using Optimizely.
The session is moderated by Adrian Gregory, Success Growth Team Lead at Optimizely, and features Peter Hastie, Front--end Developer at Bleacher Report, and Chris Moen, Lead Web Developer at CityPASS, sharing how they've used advanced features in the editor and the Optimizely API to run more dynamic tests and improve performance on their site.
The covered features include:
-Testing content that appears after page-load
-Getting the most of your goals with custom events
-Testing an entire new page layout without redirects
-Getting the most of the Global CSS & Global JS
-Implementing code for efficient targeting, tracking, and segmenting
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
This document discusses mobile app analytics and testing. It provides an overview of different approaches to developing mobile apps, mobile analytics tools, and considerations for deploying a mobile analytics solution. It also discusses challenges with testing mobile apps and different testing methods. Throughout the document, examples are given for tagging mobile apps with analytics SDKs and attendees are invited to share their experiences with mobile analytics and testing.
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 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.
GDD Japan 2009 - Designing OpenSocial Apps For Speed and ScalePatrick Chanezon
Google Developer Days Japan 2009 - Designing OpenSocial Apps For Speed and Scale
Original slides from Arne Roomann-Kurrik & Chris Chabot with a few Zen quotes and references added by me:-)
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.
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/
Page Speed Insights: The Ballad of Improving PerformanceJames McNulty
Site speed is important for your bottom line and understandably, with so many metrics and details, it can get confusing. This session should help the audience understand how important performance is to Google, and the why and how webmasters can take initiative to improve.
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.
Edge 2016 service workers and other front end techniquesakamaidevrel
This document discusses using service workers and other front-end techniques to create a secure and optimal site. It describes how service workers can be used to control third-party content, such as by implementing client reputation strategies to block requests from untrusted sources. Examples are given of how service workers could maintain counters to throttle requests to third-party domains that exceed timeout thresholds, and serve cached or error responses when thresholds are exceeded. The document also discusses how service workers could be leveraged for offline analytics reporting and metric monitoring to reduce risks compared to traditional third-party JavaScript techniques.
This document provides an overview of popular JavaScript libraries including Dojo Toolkit, YUI, Prototype, and jQuery. It discusses problems they aim to solve like cross-browser inconsistencies. Key features of each library are mentioned like Dojo's widgets, YUI's controls, Prototype's Ruby-like syntax, and jQuery's chaining and node selection. The document also covers ideas from the libraries like progressive enhancement, animation APIs, and leveraging hosting on CDNs.
Migrating existing monolith to serverless in 8 stepsYan Cui
The document discusses refactoring a monolithic application to a serverless architecture in 8 steps. It covers identifying service boundaries, organizing code into separate repositories for each service, choosing deployment tools, keeping functions simple and single-purpose, and migrating features to new services incrementally while maintaining compatibility with the existing monolith. The goal is to break the application into small, autonomous services that can be developed and deployed independently for improved scalability, resilience and development velocity.
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.
Web Performance in the Age of HTTP2 - Topconf Tallinn 2016 - Holger BartelHolger Bartel
Web performance optimisation has been gaining ground and is slowly getting more of its deserved recognition.
Nevertheless, much of our time on the web is still used up by waiting. To decrease our wait time and improve the web’s overall performance, this integral part of user experience needs further promotion.
Waiting and the perception of time itself, is reason enough to explore some of the psychological effects time has on our users, too.
Passing time also plays a big role in the evolution of technologies. Through the history of HTTP we have reached the latest version as HTTP/2, which will turn some of our existing web performance best practices on their head and into the new anti-patterns of today.
React is a UI library that is changing the way web applications are written. While there are many benefits to using React, managing an application's complexity as it scales is one of the most powerful.
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.
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.
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.
Adrian Gregory, Success Growth Team Lead at Optimizely
Peter Hastie, Front-end Developer at Bleacher Report
Chris Moen, Lead Web Developer at CityPASS
The Developer Showcase highlights useful tips and tricks directly from developers using Optimizely.
The session is moderated by Adrian Gregory, Success Growth Team Lead at Optimizely, and features Peter Hastie, Front--end Developer at Bleacher Report, and Chris Moen, Lead Web Developer at CityPASS, sharing how they've used advanced features in the editor and the Optimizely API to run more dynamic tests and improve performance on their site.
The covered features include:
-Testing content that appears after page-load
-Getting the most of your goals with custom events
-Testing an entire new page layout without redirects
-Getting the most of the Global CSS & Global JS
-Implementing code for efficient targeting, tracking, and segmenting
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
This document discusses mobile app analytics and testing. It provides an overview of different approaches to developing mobile apps, mobile analytics tools, and considerations for deploying a mobile analytics solution. It also discusses challenges with testing mobile apps and different testing methods. Throughout the document, examples are given for tagging mobile apps with analytics SDKs and attendees are invited to share their experiences with mobile analytics and testing.
This is our contributions to the Data Science projects, as developed in our startup. These are part of partner trainings and in-house design and development and testing of the course material and concepts in Data Science and Engineering. It covers Data ingestion, data wrangling, feature engineering, data analysis, data storage, data extraction, querying data, formatting and visualizing data for various dashboards.Data is prepared for accurate ML model predictions and Generative AI apps
This is our project work at our startup for Data Science. This is part of our internal training and focused on data management for AI, ML and Generative AI apps
QA Fes 2016. Jacek Okrojek. Website performance from user perspectiveQAFest
When doing web application performance tests we usually present statistics from tools that simulates real users as a results from tests. This approach works for APIs and simple sites that does not require additional resource like javascript, css or image files. For most modern websites measurements collected that way give stakeholders information only about performance and stability of the first layer of application but give no information about performance seen from user perspective. To collect such information we need to use other tools and approaches.
In my presentation I would like to share experience my team collected when designing and implanting performance tests strategy that aims to give 360 degrees view on application performance. Such solution gives developers fast feedback about performance changes, provide tools for testers to estimate site performance before going live and measures customer experience. In particular I would like to present:
- rules for building high performance web sites
- concepts of synthetic and real user measurements
- when and what for use load generators
- potential issues with test environment
- metrics that could be collected
- JavaScript Resource and Performance APIs
- open source and commercial tools that can be used
SmartNews uses various SaaS products like New Relic, Datadog, and Chartio to monitor applications and infrastructure, collect metrics, and create dashboards. SaaS allows SmartNews to focus on its core product without having to dedicate engineering resources to tasks like monitoring and visualization. It provides built-in integrations, easy setup processes, and expert support so SmartNews can move fast without having to develop and maintain these capabilities internally. SaaS makes operations more efficient and allows SmartNews to gather insights that help optimize performance and troubleshoot issues.
In front-end software development it's still rare that data is collected on the client side besides some analytics data where developers usually don't have access to.
Imagine what you can do when you have front-end log data, you see how many ajax calls hitting your servers and you finally know whether the single page application is used like you expected or not. I will briefly talk about projects I was part of where we used these kind of data to improve our product and surprisingly reduced AWS costs by changing front-end code.
https://docs.google.com/presentation/d/1kGK8P7Ll2H4Z_1UUdBneAbNzUEDmpj8g2Mxj_Z-F5u8/pub?start=false&loop=false&delayms=3000
Michael will present an overview of Elastic's machine learning capabilities.
As we know, data science work can be messy, fractured, and challenging as data volumes increase. This session will explore how the Elastic stack can offer a single destination for data ingestion and exploration, time series modeling, and communication of results through data visualizations by focusing on a few sample data sources.
We will also explore new functionality offered by Elastic machine learning, in particular an integration with our APM solution.
Trained as a mathematician, Michael Hirsch started his career with no development experience. His first task - "model the world in a relational database." Over the last 7 years Michael has established himself a data scientist, with a focus on building end-to-end systems. In his career, he has built machine learning powered platforms for clients including Nike, Samsung, and Marvel, and approaches his work with the idea that machine learning is only as useful as the interfaces that users interact with.
Currently, Michael is a Product Engineer for Machine Learning at Elastic. He focuses on tailoring Elastic's ML offering to customer use cases, as well as integrating machine learning capabilities across the entire Elastic Stack.
MeasureCamp IX (London) - 10 JavaScript Concepts for web analystsSimo Ahava
Here's my list of 10 JavaScript (related) concepts that I think all web analysts should understand at least on a basic level. A solid grasp of JavaScript is a base requirement for anyone working with the web browser.
In this presentation a brief justification to performance testing will be given following with some terminology and a short demo
links is provided to some recommended solutions trails /freemium
in the comments, the two demo sessions,
TruClient Lite scripting demo
StormRunner Load simple performance test
Gluecon 2017 - GoMake | Flying Dreams: Real-Time Communication from the Edge ...Jonathan Barton
Creating flexible, resilient access to real-time sensor data can be challenging – especially when your device targets can literally disappear off the face of the Earth! See how groups of students and instructors are using the goMake API to talk with high-altitude balloon telemetry as it skirts the edge of the stratosphere, and the design considerations involved in making this a scalable platform for project-based STEM learning that aims to instill a sense of wonder.
Did you know that just a handful of root causes cause the majority of application issues like crashes, slow performance or incorrect application behavior? Non-optimized database access, deployment mistakes, memory leaks, or inefficient coding are just some examples. Companies that think Continuous Delivery and DevOps will solve all their problems typically fail as they just run into these problems faster. In this session we take a closer look at the most common problems, how to detect them and how to incorporate performance into your DevOps culture by automatically detecting these top problems.
The document presents a Gantt chart showing the timeline and dependencies for tasks in a project to develop a new web-based tool. The project includes tasks to design specifications, develop components, procure software and hardware, conduct testing, deliver the system, and provide training and support. The project is scheduled to take approximately 7 months from start to finish.
Mobile User Experience:Auto Drive through Performance MetricsAndreas Grabner
Believe it or not - 85% of mobile apps are removed after first usage! In this presentation - given at the APM Meetup in Singapore in April 2015 - I talked about the challenges, best practices and especially metrics to avoid this situation.
Key Points of the Presentation
The two key trends "Internet of Things" and "DevOps" play a big role in our life when we talk about User Experience and especially mobile user experience. In this presentation I tell you what metrics to use to make sure you deliver your ideas faster to your mobile end users but also ensuring the right quality and user experience so that your users stay loyal and dont delete the mobile app after first usage.
Is your mobile app up to speed softwaresymposiumDoug Sillars
Mobile data usage has grown exponentially and will continue to do so, putting pressure on networks and draining batteries. To improve performance, developers must optimize mobile apps using techniques like minimizing file sizes, caching content, grouping connections, and closing connections properly. The free AT&T Application Resource Optimizer tool allows developers to test apps and identify issues in order to build high-quality, efficient mobile experiences.
This document provides an overview of the Google Analytics API, including how to authenticate and make requests to retrieve analytics data programmatically. It discusses the benefits of using the API such as increased productivity and access to more data and dimensions compared to the core reporting interface. Examples are given of retrieving metrics and dimensions, filtering results, handling response objects, and other API concepts and options. Limits and other Google Analytics APIs are also briefly mentioned.
Bootiful Development with Spring Boot and Vue - RWX 2018Matt Raible
You’re in love with Spring Boot, but you miss your old pal AngularJS? Don’t fear, Vue.js is here! Vue is very similar to AngularJS, but much more powerful, yet slim and light for PWAs.
In this session, you’ll see how to build a Spring Boot API and secure it with Spring Security. You’ll also learn how to build a Vue.js PWA, all the while enjoying a bootiful hot-code-reload experience. Lots of live coding in this one!
Blog: https://developer.okta.com/blog/2018/12/03/bootiful-spring-boot-java-vue-typescript
GitHub: https://github.com/oktadeveloper/spring-boot-vue-example
Software Engineering for Startups (University of St Andrews, 2013)RightScale
1. The document discusses software engineering practices at startups and cloud analytics company RightScale.
2. It describes the development process used at RightScale, including scrum-based sprints, planning, estimation, daily standups, and metrics.
3. The document also discusses best practices for startup engineering such as continuous integration, automated testing, monitoring, and prioritizing user feedback.
Using Modern Browser APIs to Improve the Performance of Your Web ApplicationsNicholas Jansma
This document discusses modern browser APIs that can improve web application performance. It covers Navigation Timing, Resource Timing, and User Timing which provide standardized ways to measure page load times, resource load times, and custom events. Other APIs discussed include the Performance Timeline, Page Visibility, requestAnimationFrame for script animations, High Resolution Time for more precise timestamps, and setImmediate for more efficient script yielding than setTimeout. These browser APIs give developers tools to assess and optimize the performance of their applications.
進擊的 ASP.NET Web API 2 巨人 – 打造支援各種裝置及平台的服務
你/妳知道WebApi (REST)己經成為一個企業IT系統整合及網路服務成長最為快速的趨勢嗎? 你/妳知道現今在網路上最被Mobile device使所用的資料交換的格式是JSON (Javascript Object Notation)而不再是肥大擁腫的XML怪獸嗎?
全世界的網路大咖都拼命地開發WebApi的服務來吸引Mobile或Web application的開發者, 我們將在這堂課中結合AngularJs與ASP.NET Web API 2來讓大家開始感受WebApi的吸引力。
Similar to AB Testing, Ads and other 3rd party tags - London WebPerf - March 2018 (20)
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
Slides from my talk at NCC Group's Web Performance Day in May 2016.
Compares the features of apps and the web, what's great about each and explores some of the technologies that will allow us to build websites that can deliver native like experiences.
The Fast, The Slow and The Unconverted - Emerce Conversion 2016Andy Davies
Slides from my talk at Emerce Conversion, Amsterdam on the importance of performance(page speed) for conversion.
Explore some of the performance issues we face when relying on third-party CRO products / services
The 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.
'Secure and Sustainable Internet Infrastructure for Emerging Technologies'APNIC
Paul Wilson, Director General of APNIC delivers keynote presentation titled 'Secure and Sustainable Internet Infrastructure for Emerging Technologies' at VNNIC Internet Conference 2024, held in Hanoi, Vietnam from 4 to 7 June 2024.
Ethically Aligned Design (Overview - Version 2)prb404
This document has been created by committees of The IEEE Global Initiative on Ethics of
Autonomous and Intelligent Systems, (“The IEEE Global Initiative”) composed of several hundred
participants from six continents, who are thought leaders from academia, industry, civil society,
policy and government in the related technical and humanistic disciplines to identify and find
consensus on timely issues.
The document’s purpose is to:
• Advance a public discussion about how we can establish ethical and social implementations
for intelligent and autonomous systems and technologies, aligning them to defined values and
ethical principles that prioritize human well-being in a given cultural context.
• Inspire the creation of Standards (IEEE P7000™ series and beyond) and associated
certification programs.
• Facilitate the emergence of national and global policies that align with these principles.
By inviting comments for Version 2 of Ethically Aligned Design, The IEEE Global Initiative provides the
opportunity to bring together multiple voices from the related scientific and engineering communities
with the general public to identify and find broad consensus on pressing ethical and social issues and
candidate recommendations regarding development and implementations of these technologies.
6. We’re including more and more of them
0
25
50
75
100
125
150
175
200
225
01-Jan-13 01-Jul-13 01-Jan-14 01-Jul-14 01-Jan-15 01-Jul-15 01-Jan-16 01-Jul-16 01-Jan-17 01-Jul-17 01-Jan-1
50th 75th 90th 95th HTTPArchive Jan ’13 to Jan ‘18Percentile
14. Feed the timings into RUM to understand the business impact
Conversions
(At least three RUM products support ‘What-If’ type analysis)
23. To get a broader picture of performance…
1. Grab Chrome timelines from HTTPArchive
e.g. https://storage.googleapis.com/httparchive/traces-android-
Dec_15_2017/171215_7X_FFG2.json.gz
2. Analyse with modified version of Jean-Pierre
Vincent’s 3rd-party-cpu-abuser
https://github.com/andydavies/3rd-party-cpu-abuser
3. Aggregate the results
24. Top 13 CPU consumers before firstMeaningfulPaint - HTTPArchive rank < 5000
25. Let’s look at testing, using Optimizely as an example
https://www.flickr.com/photos/pinkangelbabe/427255017
26. Optimizely’s cost varies by implementation
0
1.25
2.5
3.75
5
Duration of script execution before firstMeaningfulPaint (ms)
0 500 1000 1500 2000 2500
Optimizely
(n=110)
Circle size = number occurrences
30. Improving performance
Reducing number of
• URL Matches
• Experiments
• Plugins (Widgets)
reduces snippet size, download and execution times
Removing jQuery from the bundle and using your own (if you
already have it) can shrink bundle further
31. Add metrics from Optimizely to Analytics or RUM?
optimizely.get("state").getActiveExperimentIds().length
Some products have documented APIs, why not extract key
metrics and send them to analytics or RUM?
Number of experiments in snippet:
Number of experiments active for this page view:
Object.keys(optimizely.get('data').experiments).length
32. Use Performance APIs to build a picture
Resource Timing
• When was script requested, how long did it take to fetch, was it
cached?
User Timing
• When did the initial script execute, how long did it take?
LongTasks
• Were there any script elements that took longer that 50ms?
33. Make sure tests are equivalent from a performance viewpoint
Some things seen in the the wild:
• One variant redirected to a new page, the other didn’t
• Optimised vs unoptimised images
(Can be good reasons why tests can’t be equivalent)
34. Could you do it server-side or or at CDN level?
https://www.flickr.com/photos/kewl/8475764430
35. Know how to turn it off in an emergency
https://www.flickr.com/photos/chrysics/4365802409
57. https://www.adlightning.com/ad-quality-report
“…41% of the ads tracked exceeded the industry-approved
maximum. Nearly 10% of the ads were larger than 5MB.
Some ads are as large as 30 MBs.”
“…average number of network requests and tracking scripts
per ad was 56:
3.7x greater than the maximum suggested by the IAB.”
58. “…one third (32%) of the ads were overly processor-
intensive.
The study also found it common for processor-intensive ads,
often video ads, to consume more than 3 seconds of CPU
time to render a single ad within the user’s browser.”
4% of video ads were in Flash format and 19% of in-banner
video ads were auto-play.
https://www.adlightning.com/ad-quality-report
61. Performance APIs can help to build a picture (within limits)
Resource Timing
• What was requested and when, how long did it take to fetch, was it
cached?
LongTasks
• Were there any script elements that took longer that 50ms?
But there are still plenty of blind spots
62. Can some of the security features of the web help?
Content-Security-Policy
Sub-resource Integrity
offer some hope, but tried using them to help a client police ads
last year with limited sucess