Adventures in San Francisco – part four, Google I/O 2016

After my previous visits to Sauce Labs, Google and Keen.io, it was finally time for the main event. I was lucky enough to get tickets for Google I/O through some of the Polymer work we had done over the last year. As I mentioned in part one I have never been to San Francisco before, so I didn’t have a previous I/O to compare it to. However, I know they changed up the format this year, giving it a more “festival” vibe — I assume to differentiate it from other conferences and be more “Google”.

I’m going to cover the bad, the good, the highlights, and the things I learned.

The Bad

The event this year was a lot larger than previous years, but only one of the venues was able to hold everyone, so only a handful of talks could be held at once. Most venues could only handle a few hundred people, and with around 7,000 in attendance this made getting into an event quite difficult. You would need to arrive at the venue at least an hour early, with them clearing out the venue after each talk. This was especially frustrating for the web development talks — with them often being back-to-back in the same place, you had to pick which you were more interested in.

The Good

The above being said, they did repeat some talks, everything was available online almost instantly, and, for me most importantly, the speakers were available to speak to after talks and in different locations. Although not mentioned much at the Keynote, there were plenty of web development talks. As web continues its push to catch native, they showed off some incredible technology that’s coming, and introduced more ideas on how to build progressive web apps.

We were really honoured to be featured at the event, and it was great to see how far we have come in the last year; you can watch that talk below (we are mentioned around the 16 minute mark):

Polymer and NAP

As well as the talks it was great to see some of the other technology Google is investing in.

Project Loon

Project Loon

Google Self-Driving Car Project

Google Self-Driving Car Project

Highlights and things I learnt

All of the talks are available here, below are some of my highlights.

Web Performance Tooling


Paul Irish and Sam Saccone talking about Chrome Dev Tools.

cmd+shift+p

cmd+shift+p


A command bar similar to Sublime and Atom for quickly accessing resources.

Screen Shot 2016-07-20 at 3.39.25 PM

Block request


Block requests based on files and domains.

CPU throttling

CPU throttling


Throttle CPU to simulate older and under-powered devices.

Perf gutter

Perf gutter


See how long your JavaScript is taking to execute.

The Mobile Web: State of the Union

Rahul covers where we are and where we are going.

It is really worth checking out David Merrell talking about using AMP with Service Workers to make a super-performant experience, it’s seriously mind-blowing.

Instant Loading: Building offline-first Progressive Web Apps

Jake Archibald’s incredible talk about Service Workers.

For me this is an absolute must-watch, incredible talk and really shows how powerful Service Workers are. If you want a good guide on how to implement Service Workers, try the Udacity offline web application course, it really helped us as a team get to grips with the technology.

Fast and resilient web apps: Tools and techniques

Ilya Grigorik talks about how we need to make our applications not only fast, but resilient.

My favourite talk of the conference. Ilya talked about how important it is to make sure your app is resilient. This talk also perfectly lines up with Tal Oppenheimer’s Building for billions on the web.

With India expecting to bring the next billion online, and with those users having a wider range of devices, poorer connectivity and lower data allowances, it’s important we tailor experiences for these users.

Almost anything can affect CPU performance:

If you want your app to run at 60 frames per second on these mobile devices, maybe you need to load a lighter experience for those users.

Lighter customer experience for low battery or under-powered device

Lighter customer experience for low battery or under-powered device

It is important to consider users with poor connectivity, even more so when you consider:

“Even by 2020 we expect one fifth of the mobile connections globally to be 2G connections”
– Tal Oppenheimer

You can use the browser to figure out their maximum download:

Lighter customer experience for poor connectivity

Lighter customer experience for poor connectivity

Finally, you want to make sure your site doesn’t blow through a users data plan. When looking at India, consider:

“1 hour of minimum wage work to load 15 average-sized web pages”
– Tal Oppenheimer

With Chrome, users can tell us if they want to save data via Client hints, and these are available in the request headers:

Lighter customer experience based on Client Hints

Lighter customer experience based on Client Hints

Bringing seamless checkouts to the mobile web

Explore how you can bring one-tap checkout experience to your mobile website.

A complete game-changer for web development. Something web has never been able to compete with is a native app’s purchase journey. Visiting a mobile website has always been a friction-less experience compared to the native journey, which requires the user to find the app in a store, download it, install it and launch it. However, our purchase experience is horrific in comparison. Where native apps can auto sign in and have one-tap purchases, the process is considerably slowed on mobile web. This talk covers how we can improve this journey.

For additional reading, Safari has now implemented Apple Pay for web but unfortunately not implementing the spec discussed above.

Wrapping it up
These are some of my highlights from Google I/O, but I encourage you to check out the videos. Although the event had some teething problems, I had an absolute blast, met some awesome people, learned loads, and I would love to go again next year.

(Parts one, two and three.)

Print Friendly

Leave a Reply