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
This document provides tips for optimizing images and video delivery on mobile websites to improve performance. It discusses reducing image file sizes through techniques like lowering quality levels, using optimized formats like WebP and SVG, resizing images responsively, and lazy loading images. For video, it recommends preloading, stripping audio from silent videos, resizing videos for mobile, and auditing third party videos. Testing and automation tools are also referenced. The overall message is that images and video can be both beautiful and fast with the right optimizations.
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.
Devfest Siberia Fast and Beautiful Images and VideoDoug Sillars
This document provides an overview of optimizing images and video delivery for mobile websites. It discusses four simple image optimizations: adjusting quality, choosing optimal file formats like WebP and SVG, resizing images responsively, and lazy loading images. It also covers optimizing video delivery through techniques like preloading strategically, resizing background videos appropriately, minimizing third party dependencies, and configuring adaptive bitrate streaming. The goal is to reduce payload sizes and improve load performance.
This document discusses optimizing images and video for fast delivery on mobile websites. It provides 4 simple optimizations for images: quality, format, sizing, and lazy loading. For video, it recommends stripping audio from silent videos, resizing videos for mobile, and starting video streaming at lower bitrates. Testing tools mentioned include WebPageTest, HTTPArchive, ImageMagick, and libraries for lazy loading and responsive images. The overall message is that images and video can be both beautiful and fast with the right optimizations.
This document provides an overview of optimizing images and video for delivery on mobile devices. It discusses four main optimizations for images: quality, format, sizing, and lazy loading. For quality, it recommends using 85% quality for JPEG images. For format, it suggests using formats like WebP, SVG and responsive images. For sizing, it discusses generating responsive image sizes. For lazy loading, it covers techniques to delay loading images until they are visible. For video, it discusses optimizations like preloading, resizing video, removing audio from non-playing videos, and optimizing video delivery through techniques like manifest files and adaptive bitrate streaming.
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
This document provides tips for optimizing images and video delivery on mobile websites to improve performance. It discusses reducing image file sizes through techniques like lowering quality levels, using optimized formats like WebP and SVG, resizing images responsively, and lazy loading images. For video, it recommends preloading, stripping audio from silent videos, resizing videos for mobile, and auditing third party videos. Testing and automation tools are also referenced. The overall message is that images and video can be both beautiful and fast with the right optimizations.
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.
Devfest Siberia Fast and Beautiful Images and VideoDoug Sillars
This document provides an overview of optimizing images and video delivery for mobile websites. It discusses four simple image optimizations: adjusting quality, choosing optimal file formats like WebP and SVG, resizing images responsively, and lazy loading images. It also covers optimizing video delivery through techniques like preloading strategically, resizing background videos appropriately, minimizing third party dependencies, and configuring adaptive bitrate streaming. The goal is to reduce payload sizes and improve load performance.
This document discusses optimizing images and video for fast delivery on mobile websites. It provides 4 simple optimizations for images: quality, format, sizing, and lazy loading. For video, it recommends stripping audio from silent videos, resizing videos for mobile, and starting video streaming at lower bitrates. Testing tools mentioned include WebPageTest, HTTPArchive, ImageMagick, and libraries for lazy loading and responsive images. The overall message is that images and video can be both beautiful and fast with the right optimizations.
This document provides an overview of optimizing images and video for delivery on mobile devices. It discusses four main optimizations for images: quality, format, sizing, and lazy loading. For quality, it recommends using 85% quality for JPEG images. For format, it suggests using formats like WebP, SVG and responsive images. For sizing, it discusses generating responsive image sizes. For lazy loading, it covers techniques to delay loading images until they are visible. For video, it discusses optimizations like preloading, resizing video, removing audio from non-playing videos, and optimizing video delivery through techniques like manifest files and adaptive bitrate streaming.
This document provides an overview of optimizing images and video delivery for mobile websites. It discusses four image optimization techniques: reducing quality to 85%, using formats like WebP and SVG, resizing images responsively, and lazy loading. It also covers optimizing video delivery through techniques like preloading strategically, reducing background video size, using third-party players carefully, and providing multiple bitrate streams in manifest files. The goal is to reduce data usage and delays to improve the mobile user experience.
Doug Sillars presented on mobile and web performance optimization at the Dublin Tech Talks on July 10, 2018. He discussed how slow loading times negatively impact user experience and engagement. Sillars recommended tools like Video Optimizer and WebPageTest to audit performance, and emphasized optimizing delivery speed through content delivery networks and image/text compression. He also provided tips for optimizing images, videos, and animations to reduce payload sizes and startup delays. The goal is to create fast, rich mobile experiences for users.
Doug Sillars discusses optimizing images and video delivery for fast loading on mobile. He provides 4 simple optimizations for images: adjusting quality, format, sizing through responsive images, and lazy loading. For video, he examines startup delays and how to balance network load through adaptive bitrate streaming. Proper preloading and avoiding 3rd party interference can improve video start. Tools like WebPageTest and ImageMagick help optimize and measure performance.
This document discusses optimizing images and video for mobile delivery. It begins by noting that images and video make up 75% of web content. It then outlines four simple optimizations for images: quality, format, sizing, and lazy loading. For each optimization, it provides examples and data on usage. It finds that adjusting quality to 85%, using responsive images, and lazy loading can significantly improve performance. For video, it discusses startup time, buffering, file size reduction techniques like removing audio and resizing, and delivery via streaming. The overall message is that minor optimizations to images and especially video can have large impacts on mobile performance and user experience.
Why Progressive Web Apps will transform your websiteJason Grigsby
Progressive web apps (PWAs) can transform websites by making them more like native apps through the use of service workers, web app manifests, and other modern web capabilities. Some key benefits of PWAs include providing fast and reliable experiences even on slow mobile networks, working regardless of a network connection, and engaging users through web app banners and push notifications. Early results show that PWAs can significantly reduce data usage and increase user engagement, conversion rates, and sales compared to mobile websites. While PWAs work across browsers, including on iOS, their full capabilities are still progressively being adopted.
Progressive Web Applications are a new way to think about using the web to provide great user experiences using the best web platform features.
The education market has many opportunities to benefit their communities using PWAs to deliver information and application experiences across all devices and platforms.
This document discusses optimizing images and video delivery for mobile websites. It provides 4 simple optimizations for images: quality, format, sizing, and lazy loading. For image quality, it recommends 85% quality for most images. For format, it suggests using webp, svg, and jpeg. For sizing, it discusses using responsive images at different breakpoints. For lazy loading, it notes the performance benefits. It also covers optimizing video delivery through formats, sizing, preloading, and streaming using adaptive bitrates in the manifest file. The goal is to reduce file sizes, speed up loading, and improve the user experience on mobile.
This document discusses optimizing images and video for fast delivery on mobile websites. It provides four simple optimizations: adjusting image quality, format, sizing, and lazy loading. SVG, WebP and responsive images are recommended over other formats. Videos should be resized, have audio removed if unneeded, and only download what will be displayed. Background videos especially should be optimized for mobile screens. Network conditions and customer needs like data savings should also be considered. Tools like ImageMagick, Cloudinary and WebPageTest can help with optimizations.
The document discusses various techniques for optimizing web performance, including:
- Minifying assets like CSS, JavaScript, and images to reduce file sizes
- Leveraging caching, compression, and browser parallelization to speed up page loads
- Implementing responsive design patterns and techniques like image sprites and media queries
- Optimizing assets further with techniques like image optimization, lazy loading, and prefetching
The document discusses responsive images and issues around their implementation. It begins by outlining the new <picture> element and srcset/sizes attributes that allow images to adapt based on screen size and resolution. It then discusses challenges like managing many images, the need for image breakpoints to determine appropriate file sizes, and the tension between responsive images and the browser's lookahead parser. Overall, the document examines both the promise and difficulties of responsive images on the modern web.
This document summarizes Doug Sillars' presentation on optimizing mobile and web performance. It discusses using tools like Video Optimizer and WebPageTest to test performance. It then provides best practices for optimizing content delivery through techniques like image optimization, text compression, responsive images, lazy loading, and video streaming. Specific techniques covered include using Scalable Vector Graphics (SVG), WebP format, appropriate image sizes and quality levels, and optimizing video formats and manifest files.
Adaptive Input — Breaking Development Conference, San DiegoJason Grigsby
Windows 8. Chromebook Pixel. Ubuntu Phone. These devices shatter another consensual hallucination that we web developers have bought into: mobile = touch and desktop = keyboard and mouse.
We have tablets with keyboards; laptops that become tablets; laptops with touch screens; phones with physical keyboards; and even phones that become desktop computers. Not to mention new forms of input like cameras, voice control, and sensors.
We've learned how to respond to screen size. Our next challenge is learning how to adapt to different forms of input.
This document discusses techniques for optimizing image delivery on websites for faster performance. It outlines four simple optimizations: adjusting image quality, choosing optimal file formats like WebP and SVG, sizing images responsively, and lazy loading images below the fold. The document shows how these techniques can significantly reduce image file sizes and page load times based on analyzing 500,000 mobile websites. Common tools for implementing the optimizations are also presented.
Presented at Web Directions Code, Melbourne
If you have a website—particularly one that generates revenue for your organization—you need a Progressive Web App. So where do you begin? How do you decide which features of a Progressive Web App make sense for your users? What tools can make the process easier (or harder)? In this practical session, Jason will guide you through the key design decisions you’ll need to make about your Progressive Web App and how those decisions impact the scope of your project. He'll also teach you how to avoid common pitfalls and help you take full advantage of Progressive Web App technology.
The document discusses optimizing images for faster page loads and better user experience. It outlines four simple image optimizations: 1) reducing image quality to 85%, 2) using newer formats like WebP and SVG that compress smaller, 3) sizing images appropriately for different screen sizes through responsive images, and 4) lazy loading images below the fold. Implementing these optimizations across 500,000 mobile sites showed median savings of 2.83 seconds faster load time and 419KB less data. The document provides examples and tools to implement each optimization.
This document discusses various topics related to developing web apps, including HTML5, responsive design, touch events, offline capabilities, and debugging tools. It provides links to resources on HTML5 features like media queries, SVG, web workers, and the page visibility API. It also covers techniques for adapting content like responsive web design, progressive enhancement, and server-side adaptation. Mobile browser stats and popular devices on Douban are mentioned. Frameworks like Bootstrap and tools like Weinre for debugging mobile apps are referenced.
Discover how Adidas is using data science to deliver third-party governanceKristian Sköld
Presented at Velocity Amsterdam 2016 with Thomas Gieling
The importance of third-party governance cannot be understated, yet developing an effective strategy can prove difficult. Adidas has pioneered an innovative approach that allows it to maintain flexibility while delivering a comprehensive third-party governance program—a strategy built around data science. Drawing on examples from Adidas, Kristian Skoeld explains how and why a data-driven approach can deliver greater insights into front-end performance and continuous delivery while encouraging collaborative working practices across departments
Real world experiences with HTTP/2 (Michael Gooding, Javier Garza from Akamai)💻 Javier Garza
HTTP/2 has been out for about a year. Over that time, Michael Gooding and Javier Garza have worked with many customers to implement it. However, beyond a turnkey solution that offers instant performance gains, HTTP/2 has led to a large amount of questions and confusion about how to optimize for it. Michael and Javier share their experiences with HTTP/2 over the last year, discussing case studies that demonstrate how performance can be improved over HTTP/2 while addressing backward compatibility, exploring using RUM data to review performance-related observations of customers after switching to HTTP/2, and offering hands-on demos of HTTP/2 with server push and HTTP/2 + QUIC.
Topics include:
Rendering impact without prioritization: Many solutions currently do not support server push or prioritization, which can have a negative impact on rendering when all resources instantly compete for the same bandwidth. Michael and Javier discuss solutions to mitigate this problem.
Breaking out to smaller files: Best practices used to dictate combining CSS and JavaScript into as few resources as possible. In an HTTP/2 world, the advice is to leave files alone and serve them as they are. Michael and Javier look at examples where trade-offs exist between the delivery, management, compression, and caching and advise how best to approach the problem.
Sprites: As with smaller files, what should we do with sprites in an HTTP/2 world? Looking at examples, Michael and Javier analyze the trade-offs in breaking a sprite out to smaller parts, looking at the effects of less-complex CSS against network performance to see how much of a difference it actually makes on performance.
Delivering for HTTP/1.x: Many websites today still have a large user base from older browsers that do not and will not support HTTP/2. By reviewing case study sites optimized for HTTP/2, Michael and Javier display the delta between a site delivered over an HTTP/2 connection and an HTTP/1.x connection. Taking these differences into account, they then explore some common trade-offs and review the delivery options to provide good performance for both protocols at the same time.
Real-life HTTP/2 web performance data: Michael and Javier explain how to use RUM data to review web performance data from large websites after enabling HTTP/2 and see the conditions where the performance improvements are at their best.
Hands-on demo comparing the web performance of HTTP/2 versus HTTP/1.x 1 and HTTP/2 with server push and QUIC.
This document provides an overview of optimizing images and video delivery for mobile websites. It discusses four image optimization techniques: reducing quality to 85%, using formats like WebP and SVG, resizing images responsively, and lazy loading. It also covers optimizing video delivery through techniques like preloading strategically, reducing background video size, using third-party players carefully, and providing multiple bitrate streams in manifest files. The goal is to reduce data usage and delays to improve the mobile user experience.
Doug Sillars presented on mobile and web performance optimization at the Dublin Tech Talks on July 10, 2018. He discussed how slow loading times negatively impact user experience and engagement. Sillars recommended tools like Video Optimizer and WebPageTest to audit performance, and emphasized optimizing delivery speed through content delivery networks and image/text compression. He also provided tips for optimizing images, videos, and animations to reduce payload sizes and startup delays. The goal is to create fast, rich mobile experiences for users.
Doug Sillars discusses optimizing images and video delivery for fast loading on mobile. He provides 4 simple optimizations for images: adjusting quality, format, sizing through responsive images, and lazy loading. For video, he examines startup delays and how to balance network load through adaptive bitrate streaming. Proper preloading and avoiding 3rd party interference can improve video start. Tools like WebPageTest and ImageMagick help optimize and measure performance.
This document discusses optimizing images and video for mobile delivery. It begins by noting that images and video make up 75% of web content. It then outlines four simple optimizations for images: quality, format, sizing, and lazy loading. For each optimization, it provides examples and data on usage. It finds that adjusting quality to 85%, using responsive images, and lazy loading can significantly improve performance. For video, it discusses startup time, buffering, file size reduction techniques like removing audio and resizing, and delivery via streaming. The overall message is that minor optimizations to images and especially video can have large impacts on mobile performance and user experience.
Why Progressive Web Apps will transform your websiteJason Grigsby
Progressive web apps (PWAs) can transform websites by making them more like native apps through the use of service workers, web app manifests, and other modern web capabilities. Some key benefits of PWAs include providing fast and reliable experiences even on slow mobile networks, working regardless of a network connection, and engaging users through web app banners and push notifications. Early results show that PWAs can significantly reduce data usage and increase user engagement, conversion rates, and sales compared to mobile websites. While PWAs work across browsers, including on iOS, their full capabilities are still progressively being adopted.
Progressive Web Applications are a new way to think about using the web to provide great user experiences using the best web platform features.
The education market has many opportunities to benefit their communities using PWAs to deliver information and application experiences across all devices and platforms.
This document discusses optimizing images and video delivery for mobile websites. It provides 4 simple optimizations for images: quality, format, sizing, and lazy loading. For image quality, it recommends 85% quality for most images. For format, it suggests using webp, svg, and jpeg. For sizing, it discusses using responsive images at different breakpoints. For lazy loading, it notes the performance benefits. It also covers optimizing video delivery through formats, sizing, preloading, and streaming using adaptive bitrates in the manifest file. The goal is to reduce file sizes, speed up loading, and improve the user experience on mobile.
This document discusses optimizing images and video for fast delivery on mobile websites. It provides four simple optimizations: adjusting image quality, format, sizing, and lazy loading. SVG, WebP and responsive images are recommended over other formats. Videos should be resized, have audio removed if unneeded, and only download what will be displayed. Background videos especially should be optimized for mobile screens. Network conditions and customer needs like data savings should also be considered. Tools like ImageMagick, Cloudinary and WebPageTest can help with optimizations.
The document discusses various techniques for optimizing web performance, including:
- Minifying assets like CSS, JavaScript, and images to reduce file sizes
- Leveraging caching, compression, and browser parallelization to speed up page loads
- Implementing responsive design patterns and techniques like image sprites and media queries
- Optimizing assets further with techniques like image optimization, lazy loading, and prefetching
The document discusses responsive images and issues around their implementation. It begins by outlining the new <picture> element and srcset/sizes attributes that allow images to adapt based on screen size and resolution. It then discusses challenges like managing many images, the need for image breakpoints to determine appropriate file sizes, and the tension between responsive images and the browser's lookahead parser. Overall, the document examines both the promise and difficulties of responsive images on the modern web.
This document summarizes Doug Sillars' presentation on optimizing mobile and web performance. It discusses using tools like Video Optimizer and WebPageTest to test performance. It then provides best practices for optimizing content delivery through techniques like image optimization, text compression, responsive images, lazy loading, and video streaming. Specific techniques covered include using Scalable Vector Graphics (SVG), WebP format, appropriate image sizes and quality levels, and optimizing video formats and manifest files.
Adaptive Input — Breaking Development Conference, San DiegoJason Grigsby
Windows 8. Chromebook Pixel. Ubuntu Phone. These devices shatter another consensual hallucination that we web developers have bought into: mobile = touch and desktop = keyboard and mouse.
We have tablets with keyboards; laptops that become tablets; laptops with touch screens; phones with physical keyboards; and even phones that become desktop computers. Not to mention new forms of input like cameras, voice control, and sensors.
We've learned how to respond to screen size. Our next challenge is learning how to adapt to different forms of input.
This document discusses techniques for optimizing image delivery on websites for faster performance. It outlines four simple optimizations: adjusting image quality, choosing optimal file formats like WebP and SVG, sizing images responsively, and lazy loading images below the fold. The document shows how these techniques can significantly reduce image file sizes and page load times based on analyzing 500,000 mobile websites. Common tools for implementing the optimizations are also presented.
Presented at Web Directions Code, Melbourne
If you have a website—particularly one that generates revenue for your organization—you need a Progressive Web App. So where do you begin? How do you decide which features of a Progressive Web App make sense for your users? What tools can make the process easier (or harder)? In this practical session, Jason will guide you through the key design decisions you’ll need to make about your Progressive Web App and how those decisions impact the scope of your project. He'll also teach you how to avoid common pitfalls and help you take full advantage of Progressive Web App technology.
The document discusses optimizing images for faster page loads and better user experience. It outlines four simple image optimizations: 1) reducing image quality to 85%, 2) using newer formats like WebP and SVG that compress smaller, 3) sizing images appropriately for different screen sizes through responsive images, and 4) lazy loading images below the fold. Implementing these optimizations across 500,000 mobile sites showed median savings of 2.83 seconds faster load time and 419KB less data. The document provides examples and tools to implement each optimization.
This document discusses various topics related to developing web apps, including HTML5, responsive design, touch events, offline capabilities, and debugging tools. It provides links to resources on HTML5 features like media queries, SVG, web workers, and the page visibility API. It also covers techniques for adapting content like responsive web design, progressive enhancement, and server-side adaptation. Mobile browser stats and popular devices on Douban are mentioned. Frameworks like Bootstrap and tools like Weinre for debugging mobile apps are referenced.
Discover how Adidas is using data science to deliver third-party governanceKristian Sköld
Presented at Velocity Amsterdam 2016 with Thomas Gieling
The importance of third-party governance cannot be understated, yet developing an effective strategy can prove difficult. Adidas has pioneered an innovative approach that allows it to maintain flexibility while delivering a comprehensive third-party governance program—a strategy built around data science. Drawing on examples from Adidas, Kristian Skoeld explains how and why a data-driven approach can deliver greater insights into front-end performance and continuous delivery while encouraging collaborative working practices across departments
Real world experiences with HTTP/2 (Michael Gooding, Javier Garza from Akamai)💻 Javier Garza
HTTP/2 has been out for about a year. Over that time, Michael Gooding and Javier Garza have worked with many customers to implement it. However, beyond a turnkey solution that offers instant performance gains, HTTP/2 has led to a large amount of questions and confusion about how to optimize for it. Michael and Javier share their experiences with HTTP/2 over the last year, discussing case studies that demonstrate how performance can be improved over HTTP/2 while addressing backward compatibility, exploring using RUM data to review performance-related observations of customers after switching to HTTP/2, and offering hands-on demos of HTTP/2 with server push and HTTP/2 + QUIC.
Topics include:
Rendering impact without prioritization: Many solutions currently do not support server push or prioritization, which can have a negative impact on rendering when all resources instantly compete for the same bandwidth. Michael and Javier discuss solutions to mitigate this problem.
Breaking out to smaller files: Best practices used to dictate combining CSS and JavaScript into as few resources as possible. In an HTTP/2 world, the advice is to leave files alone and serve them as they are. Michael and Javier look at examples where trade-offs exist between the delivery, management, compression, and caching and advise how best to approach the problem.
Sprites: As with smaller files, what should we do with sprites in an HTTP/2 world? Looking at examples, Michael and Javier analyze the trade-offs in breaking a sprite out to smaller parts, looking at the effects of less-complex CSS against network performance to see how much of a difference it actually makes on performance.
Delivering for HTTP/1.x: Many websites today still have a large user base from older browsers that do not and will not support HTTP/2. By reviewing case study sites optimized for HTTP/2, Michael and Javier display the delta between a site delivered over an HTTP/2 connection and an HTTP/1.x connection. Taking these differences into account, they then explore some common trade-offs and review the delivery options to provide good performance for both protocols at the same time.
Real-life HTTP/2 web performance data: Michael and Javier explain how to use RUM data to review web performance data from large websites after enabling HTTP/2 and see the conditions where the performance improvements are at their best.
Hands-on demo comparing the web performance of HTTP/2 versus HTTP/1.x 1 and HTTP/2 with server push and QUIC.
O'Reilly Fluent Conference: HTTP/1.1 vs. HTTP/2Load Impact
HTTP/2 is a new version of the HTTP network protocol that can improve page load performance over HTTP/1.1. The document discusses the history and limitations of HTTP/1.1, how HTTP/2 addresses these through features like multiplexing and header compression, and the results of an experiment that found HTTP/2 reduced page load times by 50-70% compared to HTTP/1.1. Real-world performance benefits may be less since HTTP/2 and site optimizations for it are still maturing, but initial experiments show promise of HTTP/2 significantly improving load times.
Fluent: Making Sense of the New CSS LayoutRachel Andrew
The document discusses the new CSS layout capabilities of Flexbox and CSS Grid Layout. It provides examples of how Flexbox can be used to create responsive and flexible layouts with precise control of alignment both horizontally and vertically. It also shows how CSS Grid Layout allows for true separation of document structure from visual layout, and enables full control over alignment and automatic placement of items. The document argues these new techniques provide a modern system for building layouts in a way that is responsive and flexible by default.
Front-End Single Point of Failure - Velocity 2016 TrainingPatrick Meenan
This document summarizes a presentation on debugging front-end performance issues. It discusses identifying single points of failure from third-party scripts and social widgets that can block loading. It recommends monitoring for failures, loading scripts asynchronously, and using a "black hole" to simulate outages for testing. Detection and mitigation of blocking third-party code is important to ensure fast page loads.
Debugging Distributed Systems - Velocity Santa Clara 2016Donny Nadolny
Despite our best efforts, our systems fail. Sometimes it’s our fault—code that we wrote, bugs that we caused. But sometimes the fault is with systems that we have no direct control over. Distributed systems are hard. They are complicated, hard to understand, and very challenging to manage. But they are critical to modern software, and when they have problems, we need to fix them.
ZooKeeper is a very useful distributed system that is often used as a building block for other distributed systems like Kafka and Spark. It is used by PagerDuty for many critical systems, and for five months it failed a lot. Donny Nadolny looks at what it takes to debug a problem in a distributed system like ZooKeeper, walking attendees through the process of finding and fixing one cause of many of these failures. Donny explains how to use various tools to stress test the network, some intricate details of how ZooKeeper works, and possibly more than you will want to know about TCP, including an example of machines having a different view of the state of a TCP stream.
http://conferences.oreilly.com/velocity/devops-web-performance-ca/public/schedule/detail/50058
Blog post on the subject here: https://www.linkedin.com/pulse/fail-early-often-well-joshua-simmons
We've all heard the maxim "Fail Fast, Fail Often," but what about "Fail Well?" In this presentation, Josh covers the top ten things NOT to do, and how to recover when things, inevitably, go wrong.
This document discusses various methods for measuring front-end performance, including synthetic testing, active testing, real user measurement, and measuring the visual experience. Synthetic testing provides consistent results but may not reflect actual user performance, while real user measurement captures real user experiences but with limited detail. The document also covers specific tools like Navigation Timing, Resource Timing, User Timing, SpeedIndex, and services from companies like Soasta, New Relic, and WebPageTest that can help with performance measurement.
How slow load times hurt UX (and what you can do about it) [FluentConf 2016]Tammy Everts
This document discusses how slow load times can hurt the user experience on websites and provides suggestions for improving performance. It notes that users expect pages to load within 2 seconds and cites studies showing that even small improvements in load time (1 second or less) can significantly increase conversion rates and other metrics. Common causes of poor performance are discussed, such as inefficient stylesheets, unoptimized JavaScript, and large images. The document provides many suggestions for optimizing front-end and back-end performance, such as creating a performance budget, minimizing page weight, deferring scripts, optimizing third-party content, and continuous monitoring.
This document summarizes a presentation on debugging front-end performance using service workers. Service workers allow intercepting and responding to network requests and caching assets. They also support features like push notifications, offline access, and progressive web apps. The presentation covered how service workers work, common use cases like handling errors, CDN failover and prefetching, as well as future possibilities like drawing images locally and custom compression.
The document discusses strategies for improving front-end performance, especially for users on slow connections or mobile devices. It recommends dynamically adjusting content like images, scripts, and ads based on connection speed. Both client-side techniques using JavaScript and service workers as well as server-side methods like analyzing request headers and response times can help optimize the experience. Browsers are also intervening more aggressively to prioritize resources and content loading. The goal is to make websites faster and more usable for all users regardless of their network conditions.
This document summarizes a presentation on debugging front-end performance related to TLS and HTTPS. It discusses optimizing the TLS handshake to reduce round trips, using session resumption, OCSP stapling, TLS false start, and dynamic record sizing. It also covers TLS debugging tools like istlsfastyet.com and security headers like HSTS, CSP, and HPKP. The presentation aimed to provide practical techniques and checks to improve TLS performance in practice.
By Philip Tellis and Nic Jansma
Whenever we speak of measuring web performance, we always refer to measuring static events, whether the old page-load model, the controversial above-the-fold time, or the product-specific “time to first tweet.” Each of these have their pros and cons ranging from ease of implementation to relevance to the actual user’s experience.
But a performant user experience is much more than these static events, and no methods measure the experience the user has interacting with the page after that initial event. We seldom measure the experience of the user when they spend the most time on the site (i.e., between load and unload, when they’re reading and interacting with content on the page, etc.) or ask questions like: Was scrolling smooth or janky? What about animations? Did the user click expecting something to happen but nothing did? Are too many reflows happening?
Drawing on their work on boomerang, Philip Tellis and Nic Jansma explore new methods of measuring web performance as it relates to continuous interactions between the user and a page.
Using machine learning to determine drivers of bounce and conversionTammy Everts
Recently, Google partnered with SOASTA to train a machine-learning model on a large sample of real-world performance, conversion, and bounce data. In this talk at Velocity 2016 Santa Clara, Pat Meenan and I offered an overview of the resulting model—able to predict the impact of performance work and other site metrics on conversion and bounce rates.
Video: https://youtu.be/C_u4_l84ED8
Karl Isenberg reviews the history of distributed computing, clarifies terminology for layers in the container stack, and does a head to head comparison of several tools in the space, including Kubernetes, Marathon, and Docker Swarm. Learn which features and qualities are critical for container orchestration and how you can apply this knowledge when evaluating platforms.
Reorganizing Website Architecture for HTTP/2 and BeyondKazuho Oku
This document discusses reorganizing website architecture for HTTP/2 and beyond. It summarizes some issues with HTTP/2 including errors in prioritization where some browsers fail to specify resource priority properly. It also discusses the problem of TCP head-of-line blocking where pending data in TCP buffers can delay higher priority resources. The document proposes solutions to these issues such as prioritizing resources on the server-side and writing only what can be sent immediately to avoid buffer blocking. It also examines the mixed success of HTTP/2 push and argues the server should not push already cached resources.
Is the buzz around Progressive Web Apps real or are they simply the latest fad? In this talk, you’ll learn exactly what Progressive Web Apps are, what problems they solve, and what new design challenges they present. Jason will show how organizations are using Progressive Web Apps to provide better and faster user experiences.
Basic Understanding of Progressive Web AppsAnjaliTanpure1
The document provides an overview of progressive web apps (PWAs). It discusses the history and idea behind PWAs, defining them as websites that are built using common web technologies but adopt features that make them feel like native mobile applications. The key pillars that transform websites into PWAs are listed as being reliable, fast, engaging, and integrated. Core building blocks like service workers and web app manifests are explained. Example case studies are given that demonstrate performance improvements from adopting PWAs. Limitations are also outlined.
Go for Progressive Web Apps. Get a Better, Low Cost, Mobile PresenceMagic Software
Progressive web app may look like a buzz word around improved web standards and few mobile friendly web design patterns. But it brings positive impact on businesses and users. Let’s learn more about it here.
IRJET-Garbage Monitoring and Management using Internet of thingsIRJET Journal
This document discusses building a progressive web app for an educational system. It begins by explaining the limitations of native mobile apps and regular web browsing. Progressive web apps aim to provide the rich experience of native apps while avoiding downloads through the use of service workers, responsive design, and app-like interfaces. The document then reviews related work on improving the mobile web experience. It presents the architecture of progressive web apps, including the application shell model and role of service workers. Finally, it proposes a system architecture for a progressive web app for education and concludes that these apps reduce burdens on users compared to native apps or regular web browsing.
Let's focus on the Mobile Web and talk about the keys to a building a great mobile experience.
From AMP (=Accelerated Mobile Pages) as a starting point up to PWA (=Progressive Web Apps). I will cover the steps through some of the key features we see as core to the modern web experience. As a bonus, we will close with new APIs that expending the web even farther.
The main API for PWA creation is Service Workers, they are the heart of this “new web”. With Service workers, we can send push notifications to the user or do background sync and show data even when the user is offline. They are not some science fiction, but a script that is quite easy to use.
In this talk, we will see overview what are service workers and when and how to use them.
Introduction to Progressive Web Apps (PWA) as presented in Divum's New Product Developers Meet. PWA provides highly reliable, fast & engaged mobile like user experience on the web.
Cloud web applications: the new perspective of sproutcoreDavid Saitta
This document summarizes a thesis on AppAware Analytics. It discusses developing a cloud web application using SproutCore to provide analytics on mobile app usage data collected by the AppAware project. Key points include:
1. The application aims to minimize server-side computation and bandwidth usage by handling most processing in the browser.
2. It uses a REST interface to retrieve app and event data from the server in JSON format.
3. Challenges include the large amount of event data and lack of support for caching computed charts on the client-side.
The document evaluates if web applications can compete with desktop applications, concluding it is possible for advanced interactions but performance may suffer with large data transfers.
Progressive web apps take advantage of new technologies to provide reliable, fast, and engaging experiences to users. They offer features such as customization through a web app manifest, instant loading with service workers, push notifications, adding apps to a user's home screen, and more. Service workers in particular allow developers to support offline experiences by giving them control over what offline content is available.
This document discusses progressive web apps (PWAs) and how to make them fast, integrated, reliable, and engaging. It focuses on four key areas: fast performance by optimizing load times and working offline; integrated user experience by making the app feel like a native app; reliable functionality even on poor network connections using service workers; and engaging design with features like push notifications. The document provides examples of how to implement service workers, push notifications, and other technologies to build PWAs that meet these criteria.
There's been a lot of talk lately about Progressive Web Apps. The main purpose is to provide an app-like user experience. For those who haven't heard of them, progressive web apps aim to bridge the gap between the mobile web and native apps by providing things like the ability to install, provide offline support, run background processes and send push notifications.
What are the non-technical doubts about using it? How does it work? Is it worth to dig into PWA now?
“Building Mobile Optimized Websites,” Nick Bourgeois / Ray Villaresrayvillares
The document discusses Acquity Group's process for building a mobile-optimized website for their clients. They determined a web application would be better than a native mobile app. Their process involved stakeholder interviews, focus groups, competitive analysis, and content analysis. They designed templates for common pages like menus, solutions, and case studies. The site was developed using Django, Oracle, HTML, CSS, and JavaScript and could be completed by their UI team in under 40 hours.
The document discusses Acquity Group's process for building a mobile-optimized website for their clients. They determined a web application would be better than a native mobile app. Their process involved stakeholder interviews, focus groups, competitive analysis, and content analysis. They designed templates for common pages like solutions, case studies and newsfeeds. The site was developed using Django, Oracle DB, XHTML, CSS and jQuery in under 40 hours.
Your visitors interact with content, not with your website. Content consistency is crucial to a successful user experience. Re-publishing is one option but it’s an inside-out action that relies on the authority controlling where the information goes. An API frees your data and the responsibility to where it is published and accessed. Mobile is a major consumer for your API but not every API is setup to handle the mass of requests coming from those devices. Learn how to mobile devices consume API’s with limited or low bandwidth and how to to tailor your API to be as efficient and effective as possible.
http://environmentsforhumans.com/2012/doteduguru-summit/
A rapid, low-cost, server-less approach to app development. This presentation was delivered at AnDevCon Boston, to showcase Six Overground's streamlined approach to building, marketing, and refining an app until it reaches product/market fit.
Let's discover the differences between an app and a PWA by comparing native apps with PWAs over going through features and capabilities of Apple Podcast app. This talk is a brief overview of the capabilities project and providing native like app features on Web platform.
what is a web application?
what is web application development?
What are the types of web applications?
What are the best examples of web applications?
Advantages of web applications.
Disadvantages of web applications.
What is the cost of web application development?
The web - What it has, what it lacks and where it must go - keynote at Riga D...Robert Nyman
The document discusses the current state and future of the web. It notes that while native apps have gained popularity, especially on mobile, the web still accounts for a large portion of usage. It outlines tools from Google like service workers, push notifications, and app install banners that aim to close capabilities gaps between the web and native apps. The document advocates for progressive web apps that are accessible like websites but also feel like native apps to users. The future of the web, it argues, depends on continuing to match and surpass native platforms while keeping the web open, accessible, and long-lasting.
The web - What it has, what it lacks and where it must go - Bulgaria Web Summ...Robert Nyman
The document discusses the current state and future of the web. It notes that while native apps have gained popularity, especially on mobile, the web remains strong with over 1 billion active users. It outlines tools from Google like Service Workers that help the web compete with capabilities previously only available to native apps like push notifications, offline access, and background processing. The document advocates for continued progress to simplify the web development process and ensure the longevity of technologies, arguing this will help the web remain diverse and accessible across all platforms.
Similar to Building an Appier Web - Velocity Amsterdam 2016 (20)
AB Testing, Ads and other 3rd party tags - London WebPerf - March 2018Andy Davies
Talk at Smashing Conf - 7th Feb 2018 (Video - https://vimeo.com/254703766)
Explores some of the issues that 3rd-party tags introduce when we add them to our sites, some ways of measuring the impact, and challenges we still have
AB Testing, Ads and other 3rd party tags - SmashingConf London - 2018Andy Davies
Talk at Smashing Conf - 7th Feb 2018 (Video - https://vimeo.com/254703766)
Explores some of the issues that 3rd-party tags introduce when we add them to our sites, some ways of measuring the impact, and challenges we still have
Inspecting iOS App Traffic with JavaScript - JSOxford - Jan 2018Andy Davies
This document discusses inspecting iOS app traffic with JavaScript by injecting scripts using Frida. It demonstrates capturing encrypted network traffic from an iOS app, extracting the TLS master secret and client/server randoms using a Frida script, and sending these values to the host computer to allow decrypting the traffic with Wireshark. The key steps are: using Frida to inject a script into an app, hooking the TLS PRF function to extract secret values, and sending these to the host to decrypt the HTTPS traffic in Wireshark. With these techniques, patterns in encrypted app traffic can be observed.
Slides from my talk at Bristol WebPerf Meetup 2017-07-20 where I talked about some of the approaches I use to persuade people that they should invest in making their sites faster
Speed: The 'Forgotten' Conversion FactorAndy Davies
Speed is a critical factor when it comes to converting browsers into buyers but it's often forgotten and other factors prioritised instead. Using real data from UK retailers this talk explores the relationship between speed and conversion
Building an Appier Web - London Web Standards - Nov 2016Andy Davies
Explores progressive web apps, what advantages they have versus native apps, how to build, and test them, and some of the challenges we still have ahead.
Slides from talk at London Web Standards, Nov 2016
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
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.
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.
The presentation will delve into the ASIMOV project, a novel initiative that leverages Retrieval-Augmented Generation (RAG) to provide precise, domain-specific assistance to telecommunications engineers and technicians. The session will focus on the unique capabilities of Milvus, the chosen vector database for the project, and its advantages over other vector databases.
Attending this session will give you a deeper understanding of the potential of RAG and Milvus DB in telecommunications engineering. You will learn how to address common challenges in the field and enhance the efficiency of their operations. The session will equip you with the knowledge to make informed decisions about the choice of vector databases, and how best to use them for your use-cases
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
This slide deck is a deep dive the Salesforce latest release - Summer 24, by the famous Stephen Stanley. He has examined the release notes very carefully, and summarised them for the Wellington Salesforce user group, virtual meeting June 27 2024.
How to Optimize Call Monitoring: Automate QA and Elevate Customer ExperienceAggregage
The traditional method of manual call monitoring is no longer cutting it in today's fast-paced call center environment. Join this webinar where industry experts Angie Kronlage and April Wiita from Working Solutions will explore the power of automation to revolutionize outdated call review processes!
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!
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/efficiency-unleashed-the-next-gen-nxp-i-mx-95-applications-processor-for-embedded-vision-a-presentation-from-nxp-semiconductors/
James Prior, Senior Product Manager at NXP Semiconductors, presents the “Efficiency Unleashed: The Next-gen NXP i.MX 95 Applications Processor for Embedded Vision” tutorial at the May 2024 Embedded Vision Summit.
Machine vision is the most obvious way to help humans live better, enabling hundreds of applications spanning security, monitoring, inspection and more. Modern edge processors need private on-device and scalable hybrid machine learning capabilities to offer enough longevity to stay relevant in industrial and commercial IoT markets. In this talk, Prior presents the upcoming i.MX 95 family of applications processors.
The i.MX 95 features a new, self-developed neural processing unit from NXP—the eIQ Neutron NPU. Designed to scale from today’s conventional neural networks to tomorrow’s transformer-based models, the eIQ Neutron NPU scalable architecture delivers edge AI capabilities at high efficiency with award-winning tools, combined with chip-level security and privacy features. The i.MX 95 applications processor family features powerful processing and vision capabilities combined with safety, security and expandable high-speed interfaces.
Leveraging AI for Software Developer Productivity.pptxpetabridge
Supercharge your software development productivity with our latest webinar! Discover the powerful capabilities of AI tools like GitHub Copilot and ChatGPT 4.X. We'll show you how these tools can automate tedious tasks, generate complete syntax, and enhance code documentation and debugging.
In this talk, you'll learn how to:
- Efficiently create GitHub Actions scripts
- Convert shell scripts
- Develop Roslyn Analyzers
- Visualize code with Mermaid diagrams
And these are just a few examples from a vast universe of possibilities!
Packed with practical examples and demos, this presentation offers invaluable insights into optimizing your development process. Don't miss the opportunity to improve your coding efficiency and productivity with AI-driven solutions.
What is an RPA CoE? Session 4 – CoE ScalingDianaGray10
How to scale a COE to meet organizational missions.
Topics covered:
• What is the original focal area?
• How to expand the COE globally.
• Is a centralized or decentralized model better for scaling?
Speaker:
Chris Bolin, Senior Intelligent Automation Architect Anika Systems
this resume for sadika shaikh bca studentSadikaShaikh7
I am a dedicated BCA student with a strong foundation in web technologies, including PHP and MySQL. I have hands-on experience in Java and Python, and a solid understanding of data structures. My technical skills are complemented by my ability to learn quickly and adapt to new challenges in the ever-evolving field of computer science.
1. Building an Appier Web
@AndyDavies NCC Group Nov 2016
https://www.flickr.com/photos/alesimages/4215559895
2. We’re spending more and more time in apps…
© comScore, Inc. Propri
Digital media usage time is exploding right now, and it’s
predominantly being driven by mobile apps.
476,553 480,967 550,522
409,847
621,410
778,95477,081
97,440
118,299
0
200,000
400,000
600,000
800,000
1,000,000
1,200,000
1,400,000
1,600,000
Jun-2013 Jun-2014 Jun-2015
TotalMinutes(MM)
Desktop Mobile App Mobile Browser Over the past
years, total dig
media usage h
grown 49% wit
mobile apps ha
grown 90% an
contributing to
of the total incr
in time spent.
Mobile browse
also seeing ve
strong growth
53% and even
desktop is still
rising.
Growth in Digital Media Time Spent
Source: comScore Media Metrix Multi-Platform & Mobile Metrix, U.S., Total Audience
+53%
vs. 2013
+90%
vs. 2013
+16%
vs. 2013
3. © comScore, Inc. Prop
29%
15%
11%
6%
6%
4%
3%
3%
23%
Social Networking
Radio
Games
Multimedia
Instant Messengers
Music
Retail
News/Information
All Others
Social Networ
Radio and Ga
contribute mo
than half of to
time spent on
mobile apps.
strength of the
categories
highlights that
mobile device
more heavily
for entertainm
and communi
than their des
counterparts.
Share of Mobile App Time Spent
Source: comScore Media Metrix MP and Mobile Metrix, U.S., Total Audience, June 2015
Social media and entertainment account for the six top app
categories and drive two-thirds of total time spent on apps.But our usage can be very specific
4. What do we like about apps?
https://www.flickr.com/photos/jennicatpink/819741953
18. © comScore, Inc. Pro
And mobile audience growth is being driven more by mobile we
properties, which are actually bigger and growing faster than ap
A comparison
Top 1000 App
the Top 1000
Web Propertie
shows a surp
result. Not on
mobile web
properties ha
audiences tha
more than 2.5
size, but thes
audiences are
growing twice
fast.
Average Monthly Audience: Top 1000 Mobile Apps vs. Top 1000 Mobile Web Properties
Source: comScore Mobile Metrix, U.S., Age 18+
-
1,000
2,000
3,000
4,000
5,000
6,000
7,000
8,000
9,000
10,000
Jun-2014 Sep-2014 Dec-2014 Mar-2015 Jun-2015
UniqueVisitors(000)
Apps Mobile Web +42%
y/y
+21%
y/y
The web has great reach…
29. So what might we need to build it?
https://www.flickr.com/photos/aigle_dore/7912377858
30. We can already add pages to our home screen
Supported by most major mobile
operating systems and browsers



(Bookmarks page rather than site)
31. Can specify the icon etc. via meta tags
<link rel="apple-touch-icon" href="icons/logo/ncc-logo-120x120-ios.png">
<link rel="apple-touch-icon-precomposed" href="icons/logo/ncc-logo-120x120-ios.png">
<link rel="apple-touch-startup-image" href="/images/startup.png">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
(Minimal iOS set, ideally need more icon and splash screen sizes
and other mobile browsers prefer different meta data)
37. And can even offer an install prompt
(Browsers use several heuristics before deciding to prompt)
38. Can listen for install event and track in analytics
window.addEventListener('beforeinstallprompt', function(e) {
e.userChoice.then(function(choiceResult) {
console.log(choiceResult.outcome);
if (choiceResult.outcome == 'dismissed') {
// Track not installed
} else {
// Track installation
}
});
});
(Chrome supports this but it’s not in AppManifest standard)
39. Can listen for install event and track in analytics
window.addEventListener('appinstalled', function(e) {
// Track installation
});
(AppManifest standard proposes this)
40. But how do we cope with a poor (or no) network?
https://www.flickr.com/photos/odaeus/3942500793
44. Service Worker is an in-browser network proxy
that can intercept requests and responses
45. <script>
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('serviceworker.js', {
scope: '/'
}).then(function(registration) {
// Anything else you want to do with registration
// e.g. subscribe to push messages
}).catch(function(err) {
console.log('Can't register service worker: ', err);
});
}
</script>
Register a Service Worker
46. Option to install via Link may be coming
<link rel="serviceworker" scope="/" href=“/serviceworker.js">
or
Link </serviceworker.js>; rel=serviceworker scope=/
(Origin trial in Chrome, under consideration in Firefox)
51. Going offline - retrieving from cache on fetch
self.addEventListener('fetch', function(event) {
event.respondWith(
caches.match(event.request).then(function(response) {
return response || fetch(event.request);
})
);
});
Try the cache first and go to the
network if there’s no match
53. Caching as a fallback for network
• Make a request
• Succeeds - cache response and return it
• Fails - check cache and return cached response
• Network request fails and not in cache ¯_( )_/¯
(OK so you probably want to manage the users experience in the last case)
54. Caching patterns depend on use case, some very helpful resources
Mozilla https://serviceworke.rs/
Jake Archibald https://jakearchibald.com/2014/offline-cookbook/
ServiceWork Toolbox https://github.com/GoogleChrome/sw-toolbox
62. Powerful APIs (inc Service Worker) require HTTPS
https://www.flickr.com/photos/zebble/6080622
63. “The future is here, it’s just unevenly distributed”
✓ ✓ ✓ WiP ?✓
64. We’re getting better access to native features
• Camera
• Notifications
• Location
• Geofencing
• Alarms
• Vibration
• Sharing
• Battery
• and more…
(On some platforms)
72. You can deploy them today
• 3x more time spent on site
• 40% higher re-engagement rate
• 70% greater conversion rate for
those arriving via Homescreen
• 3x lower data usage
75. These apps aren’t packaged and deployed through stores,
they’re just websites that took all the right vitamins
https://infrequently.org/2015/06/progressive-apps-escaping-tabs-without-losing-our-soul/
Alex Russell, Google
76. I still have questions…
• What might not be suitable as a progressive web app?
• Can we build PWAs that are as fast and frictionless as native?
• How can we sell our apps, will we need app stores?
• How do we avoid an uncanny UI valley?
• What happens to storage when every site is a PWA?
77. “Every step on the path to a PWA makes sense on it’s own”
Jason Grigsby