This document discusses various methods for automating front-end optimization. It describes how HTML rewriting solutions can optimize HTML through proxies or in-app plugins. It also discusses when certain optimizations are best done by machines versus humans. The document outlines different architectures for front-end optimization solutions, including cloud-based and on-premises options, and considers when each is most appropriate. It emphasizes the importance of testing solutions before deploying and of monitoring performance after deployment.
This document discusses various methods for gathering performance metrics from automated tests, including setting your own timings, using the Navigation Timings API, browser plugins, proxies, and the HTTP Archive (HAR) format. It provides code snippets for implementing timers in tests, exporting data from Firebug and Fiddler to HAR, and using the BrowserMob proxy to capture network traffic during tests.
We will talk about using websockets as our primary method for consuming APIs and show the advantages and disadvantages of websockets over AJAX requests and how can we use them with ASP.NET Web API.
This document provides an overview of service workers and how they can be used. It begins with registering a service worker script and discussing the install and activate lifecycle events. It then covers using service workers to handle fetch events to provide offline functionality by precaching resources and serving cached responses when offline. Finally, it discusses several other potential uses of service workers like custom error pages, CDN failover, prefetching, and metrics collection.
Today, a web page can be delivered to desktop computers, televisions, or handheld devices like tablets or phones. While a technique like responsive design helps ensure that our web sites look good across that spectrum of devices we may forget that we need to make sure that our web sites also perform well across that same spectrum. More and more of our users are shifting their Internet usage to these more varied platforms and connection speeds with some moving entirely to mobile Internet. In this session we’ll look at the tools that can help you understand, measure and improve the web performance of your web sites and applications. The talk will also discuss how new server-side techniques might help us optimize our front-end performance. Finally, since the best way to test is to have devices in your hand, we’ll discuss some tips for getting your hands on them cheaply. This presentation builds upon Dave’s “Optimization for Mobile” chapter in Smashing Magazine’s “The Mobile Book.” This talk was given at the Responsive Web Design Summit hosted by Environments for Humans.
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.
Make It Fast Using Modern Browser Performance APIs to Monitor and Improve the Performance of your Web Apps. Presented at CodeMash 2015. Performance matters. How fast your site loads — not just on your development machine, but from your actual customers, across the globe — has a direct impact on your visitors’ happiness and conversion rate. Today’s browsers provide several new cutting-edge performance APIs that can give you Real User Metrics (RUM) of your live site’s performance. Whether you run a small blog or a top-1K site, monitoring and understanding your performance is the key to giving your visitors a better experience. We will be discussing the NavigationTiming, ResourceTiming and UserTiming performance APIs, which are available in the majority of modern browsers. You’ll walk away with a better understanding of what problem these APIs solve and how to start using them today. We’ll also go through both D.I.Y. and commercial options that utilize these APIs to help you better monitor and improve the performance of your websites.
HTTPS & HTTP/2 This document discusses securing websites with HTTPS and migrating to HTTP/2. It provides guidance on setting up HTTPS with self-signed or free certificates. HTTP/2 improves performance over HTTPS compared to HTTP/1.1 by enabling features like server push and multiplexing. The document recommends securing all website content and resources with HTTPS to future-proof sites and unlock new browser capabilities. It also discusses optimizing for HTTPS and HTTP/2 by redirecting HTTP to HTTPS, enabling HTTP/2 via a CDN, and using HSTS.
An approach to capturing and integrating web client Real User Measurements from the Navigation object with server-side network and HttpServer diagnostic events.
Do you have a website? Do you have any tests for that site? Even if you have unit tests integration tests can help you target workflows such as a checkout process. In this presentation I will talk about testing any site with Cucumber and Selenium. I will show what the tests look like, and explain the different ways to run these tests, from running them locally, building your own selenium grid to using Sauce labs as your testing infrastructure.
This document provides an overview of Selenium testing tools and techniques. It discusses headless testing using Xvfb and PhantomJS. It also covers visual testing with Applitools, using proxy servers like BrowserMob for status codes and performance testing, and emulating mobile devices. Additional topics include growl notifications, file handling, A/B testing, and resources for learning more about Selenium.
The SPDY protocol has been developed by Google since 2009. It is intended as an evolution of HTTP with better performance and network utilization.
You're probably familiar with the well-known performance success stories from companies like Amazon, Google, Microsoft and Shopzilla. But how relevant are these megasites to "mortal companies" that don't make billions of dollars per year or have teams of in-house performance engineers to do their bidding? Strangeloop president Joshua Bixby walks through case studies of Strangeloop customers like AutoAnything.com and Artbeads.com to show how mortal companies have improved performance and achieved measurable success, including: · Increased revenue by 13% · Increased cart size by 6% · Increased conversions by 9% Joshua offers practical tips for successfully evangelizing performance within your organization. He also gives a snapshot of the current performance landscape in North America, as well as a sense of where the industry is headed.
Gaelyk allows Groovy applications to be deployed to Google App Engine. It provides a lightweight framework for building web applications on App Engine using Groovy. Key features include Groovy script-based controllers and views, object-relational mapping for the datastore, caching, and plugins. Gaelyk applications can be run locally for development and deployed to App Engine for production using Gradle tasks.
Behavior Driven Development (BDD) focuses on defining expected application behaviors through user stories. Cucumber and Capybara are tools that support BDD. Cucumber allows writing tests in plain language and organizing them into feature files. Capybara is a framework that simulates user interactions and uses a domain-specific language to write tests. It supports drivers like Selenium to test web applications with JavaScript.
Quickling and PageCache are two software abstractions at Facebook that improve front-end performance. Quickling makes the site faster by using AJAX to transparently load pages without reloading common elements. PageCache caches user-visited pages in the browser to improve latency and reduce server load when pages are revisited. Both have significantly reduced Facebook's page rendering times and improved the user experience.
Boomerang is a JavaScript library that gathers performance metrics of page loads. When a customer saw periods where nothing progressed on their site, forensic tools were used to investigate. WebPageTest reproduced the issue, and tcpdump, Wireshark, and Chrome Tracing helped dive deeper. Tests showed the problem was not related to Boomerang. Other scenarios involved issues with ready state changes and prematurely expiring CSRF tokens. Various tools like the browser dev tools, Fiddler, and Node.js were used to reproduce problems and validate fixes.
The document discusses SPDY, an evolution of HTTP developed by Google since 2009 that aims to speed up web content delivery. SPDY utilizes a single TCP connection more efficiently through multiplexing and other techniques. It allows for faster page loads, often around 39-55% faster than HTTP. While SPDY adoption is growing, with support in Chrome, Firefox, and Amazon Silk, widespread implementation by servers is still limited. SPDY is expected to influence the development of HTTP 2.0.
This document discusses different types of applications that can be built for browsers including regular web apps, installable web apps, packaged web apps, extensions, and packaged apps. It outlines the pros and cons of each approach, key differences in APIs between browsers, and links to developer documentation pages for Chrome, Firefox, and other browsers. The focus is on helping developers choose the best application type and distribution model based on their specific needs and goals.
The document discusses various tools and techniques for measuring and improving web performance. It covers topics like understanding how performance affects user experience and business metrics, tools for measuring performance like YSlow and PageSpeed, waterfall charts, browser behaviors, optimization techniques like minification and compression, and monitoring solutions like WebPageTest and dynaTrace. Key tools mentioned include YSlow, PageSpeed, WebPageTest, dynaTrace, Fiddler and HttpWatch. Optimization areas discussed are page size, number of requests, caching, rendering structure, and asynchronous loading.
This document discusses HTML5 capabilities and their implementation in Google Chrome. It describes new HTML5 features like <canvas>, <video>, local storage, and workers. It notes that these features allow web applications to have capabilities that previously required native apps. The document demonstrates several new HTML5 features and discusses ongoing work to further expand web application capabilities in areas like geolocation, 3D graphics, and additional APIs. It positions Google Chrome as a browser that provides native support for emerging HTML5 capabilities.
Apache Geronimo is an open source, lightweight Java application server. It is fully compliant with Java Enterprise Edition and provides customizable assemblies and modules. Some innovations in Geronimo, like plugins and portals, are affecting the industry. IBM contributes to Geronimo and uses a customized version as Websphere Community Edition.
This document discusses integrating SharePoint 2010 with Microsoft Dynamics CRM 2011. It describes how SharePoint lists can be enabled for document management within CRM records. It also provides links to resources on building custom workflows, using Silverlight web parts, and accessing CRM data from SharePoint. Videos are referenced that cover topics like solutions, user experience extensibility, and upgrading from CRM 4.0 to 2011.
The document discusses predictions for trends in web and HTML5 for 2013. The top 10 trends are: 1) Increased use of HTML5-enabled devices, 2) HTML5 becoming the standard, 3) Plans to finalize HTML5.1 in 2014, 4) Specialization of web apps, 5) Increased web APIs, 6) Emergence of web operating systems, 7) Expansion of the web into new areas, 8) Responsive web design, 9) Need for policies around the web, and 10) Rethinking the web ecosystem. The document provides details on each trend and discusses related topics like HTML5 standardization.
The document discusses predictions for trends in web and HTML5 for 2013. The top 10 trends are: 1) Increased use of HTML5-enabled devices, 2) HTML5 becoming the standard, 3) Plans to finalize HTML5.1 in 2014, 4) Specialization of web apps, 5) Growth in the number of web APIs, 6) Emergence of web operating systems, 7) Expansion of the web into new areas like digital signage, 8) Responsive web design, 9) Need for policies around web development, and 10) Rethinking the web ecosystem. The document provides details on each trend and related technologies.