Puppeteer as a service

Paul Kinlan

I believe that the Headless Web is the future. Being able to offer users experiences that are delivered via the web, but without actually ever seeing a traditional browser. There are a couple of manifestations of the headless web: Notification based experiences, such as those that delivered the news of Brexit; Deep media integration allowing you to control videos and audio through controls that extend on to connected devices such as watches and Media surfaces in the host operating sysetem; or the most powerful of them all, the ability to run a web browser on the server.

I believe the introduction of Headless Chrome and the Puppeteer API can power the next generation of web businesses or commandline tools. With a browser running on the server we can fetch and execute any content that lives on the web through a simple server side set of integrations.

Puppeteer As A Service, or PuppeteerAAS, is a simple example of some of the things that you can do with the Puppeteer API. It lets you take screenshots, traces, print pdfs, server-side render dynamic pages.

The very first version of this was a bit of a hack-job, and the awesome Eric Bidelman hopped in and quickly improved the entire project and has made it what it is today.

Some interesting things: It's hosted on zeit.co using their Docker based deployment scripts. This works really well for me, because I don't have to think about any of the infrastructure and deploying it is as simple as now.

One neat example is the bookmarklet I created that takes the current page that you are on, runs a deep performance trace of the page via PuppeteerAAS and then sends the results to a hosted version of Chrome DevTools.

Try it out with this page. It's very neat.

I lead the Chrome Developer Relations team at Google.

We want people to have the best experience possible on the web without having to install a native app or produce content in a walled garden.

Our team tries to make it easier for developers to build on the web by supporting every Chrome release, creating great content to support developers on web.dev, contributing to MDN, helping to improve browser compatibility, and some of the best developer tools like Lighthouse, Workbox, Squoosh to name just a few.

I'm trialing a newsletter, you can subscribe below (thank you!)