Course Summary
You will learn how to optimize any website for speed by diving into the details of how mobile and desktop browsers render pages.
In this short course, you’ll learn about the Critical Rendering Path, or the set of steps browsers must take to convert HTML, CSS and JavaScript into living, breathing websites. From there, you’ll start exploring and experimenting with tools to measure performance and simple strategies to deliver the first pixels to the screen as early as possible. You’ll learn how to dive into recommendations from PageSpeed Insightsand the Timeline view of Google Chrome’s Developer Tools to find the data you need to achieve immediate performance boosts!
This course is also a part of our Front-End Web Developer Nanodegree.
Why Take This Course?
From Ilya Grigorik’s High Performance Browser Networking:
“The emergence and the fast growth of the web performance optimization (WPO) industry within the past few years is a telltale sign of the growing importance and demand for speed and faster user experiences by the users. And this is not simply a psychological need for speed in our ever accelerating and connected world, but a requirement driven by empirical results, as measured with respect to the bottom-line performance of the many online businesses:
- Faster sites lead to better user engagement.
- Faster sites lead to better user retention.
- Faster sites lead to higher conversions.
Simply put, speed is a feature.”
Project
You will optimize an online portfolio for speed, which you can share with the world to showcase your skills!
Making a great first impression is absolutely key and an online portfolio can help you stand apart from the crowd. We’ll give you a template for a modern, mobile-friendly portfolio which you’ll be able to completely customize so that it shows off your work and your skills the way you want. But before you show it off to the world, you’ll practice your web performance skills by optimizing the portfolio to render as fast as possible.
Prerequisites and Requirements
This course is for any and all web developers, whether you started learning about HTML, CSS and JavaScript recently or have been building websites since the nineties!
Most importantly, you should be able to explain the overall purpose of HTML, CSS and JavaScript with respect to website structure. In addition, you should be comfortable reading and writing HTML documents, however you will not be writing JavaScript or CSS styles for this course.
This course is taught with Google Chrome and Google Chrome Canary.
See the Technology Requirements for using Udacity.
What Will I Learn?
Projects
Optimize a provided website with a number of optimization- and performance-related issues so that it achieves a target PageSpeed score and runs at 60 frames per second.
Syllabus
Overview
Throughout the course, you’ll build a performance toolbox to help you build faster website experiences by taking advantage of PageSpeed Insights recommendations and measuring page performance on mobile and desktop with Chrome Developer Tools.
This class contains an introductory lesson, two primary lessons and a final project. Before diving into optimizations, you’ll build an understanding of how browsers convert HTML, CSS and JavaScript into websites. Along the way, you’ll practice measuring performance using the same tools Google engineers use.
Then comes the really fun part: optimization! You’ll learn about easy-to-implement performance gains and develop a simple and powerful model for uncovering optimization opportunities.
You’ll put your newfound performance skillset to the test with the final project, where you’ll be optimizing your own online portfolio website!
Lessons
Lesson 0 (20 minutes)
You can’t optimize what you can’t measure, so in this lesson you’ll learn how to open Chrome Developer Tools to measure the performance of mobile and desktop websites.
Lesson 1 (60 minutes)
Optimizing any website’s performance requires a strong understanding of how browsers build websites from HTML, CSS and JavaScript. You’ll start by breaking down the Critical Rendering Path – the steps the browser has to take to render a page. You’ll get an understanding of how:
- HTML is converted to the Document Object Model (DOM).
- CSS is converted to the CSS Object Model (CSSOM).
- the browser runs layout to determine the position and size of elements before painting pixels on the screen.
Throughout the lesson, you’ll learn how to take advantage of the Timeline view in Chrome Developer Tools to measure each and every step’s performance on mobile and desktop.
Lesson 2 (90 minutes)
You’ll explore easy HTML, CSS and JavaScript optimizations with significant performance implications, some of which are as simple as adding a single attribute to an HTML tag! Along the way, you’ll be developing the skills to help you diagnose opportunities for optimizations, including:
- building quick and dirty diagrams of the Critical Rendering Path.
- identifying three key metrics to triangulate potential performance bottlenecks.
Instructors & Partners
Ilya Grigorik is a web performance engineer at Google and the author of High Performance Browser Networking (O’Reilly). When he’s not optimizing web performance, he is likely found working on new performance or analytics related open source projects, launching fun projects like vimgolf.com, or optimizing his triathlon times. Prior to focusing on web performance, Ilya spent 5 years measuring and optimizing performance of social campaigns – he was the founder of PostRank, which was acquired and integrated into Google Analytics. In short, he likes to optimize and make things fast.