I recently attended the Chrome Dev Summit conference in Mountain View, CA, which centered around developing websites for Chrome and the mobile web. The conference was designed to provide attendees the opportunity to talk with the developers working on Chrome. We were able to provide feedback, as well as better share the true need of web developers. Overall, the conference was wonderful, giving me a great opportunity to learn more from both the talks, as well as speaking with the Chrome team.
The sessions touched on three main topics: service workers, RAIL, and progressive web applications. New features are constantly being developed by various working groups. The conference speakers and developers work directly on experimental features, and they were enthusiastic when explaining their area of expertise. The well chosen topics, combined with the excitement of the speakers, made for a productive conference that proved to be well worth the time.
So, what are service workers, RAIL, and progressive web applications, and why were they this year’s conference topics?
Service workers are a new way to have proxy servers that sit between your web application and the browser and network, and may be used on both mobile and desktop web applications. A service worker is a background script run by your browser, enabling features which don’t need a web page or user interaction. Among the many possibilities, you can create offline applications, enable push notifications, or manage an application’s cache. Service workers in many ways replace earlier attempts at some of these features, and are one of the most comprehensive changes coming to the browser. If you’d like to learn more about service workers, you can view the conference talk for a better understanding of the topic.
If you’re used to the old way of thinking about site performance, where the end goal is to see the fastest performance possible, let me introduce you to RAIL, a different way of thinking. Rather than focusing on making things faster, this user-centered performance model focuses on providing a noticeable difference to the user. RAIL is broken down into four aspects: responses, animations, idle, and loading.
Responses refers to the initial response to any user interaction. You want to respond to the user as quickly as possible so they don’t notice a lag. Animations are things like scrolling and touchmoves and the goal is to deliver frames every 16ms. The idle stage focuses on how to properly use the time when you’re not responding to a user interaction, and loading refers both to the initial load of your application and any later network requests.
Progressive Web Applications
Progressive web applications are mobile applications that work offline and can be installed on the home screen of a device. They differ from hybrid applications in that they are installed through the web browser and are opened in the browser each time they are used. Currently, they are only supported on Android devices. Feel free to take a look at the conference talks to learn more about progressive web applications, as well as other conference highlights.