sgo.to

Chrome University Design Patterns

Upcoming Edition

Past Editions

Design Patterns

This document is designed to capture the guiding principles/patterns we’ve found to be useful while hosting Chrome University over the years. It serves as a set of guiding principles for people running Chrome Universities (e.g. organizing or giving tech talks), but importantly, a moving one: these are living patterns that have emerged and are evolving/growing/taking shape every time we run an edition (rather than set in stone).

At its core, Chrome University is a program that is designed to expand the knowledge of browser engineering.

Whether you are an old timer or a noogler, it is designed to force everybody to leave their comfort zone and learn something new (in their area or otherwise) with the intention that they’ll be able to connect the dots in the long term serendipitously. For example, we want you to learn about media compression even if you don’t ever use it directly, expecting that the expansion in technical substance is useful in itself - much like learning calculus is.

We favor breadth over depth: we start with a shallow layer over the whole foundation and incrementally layer substance over the areas that are most interesting adding depth. This materializes in a lot of 101 courses, some 201s, fewer 301s, and so on.

We favor long term principles rather than short term tactics. We look for concepts, theories and language patterns (e.g. design, architecture, theory, mindset, rationale) that can provide a solid foundation that can serve attendees unassisted (e.g. life of a standard) rather than short-term practice that gets outdated (e.g. processes, code references, communication practices, etc).

Sometimes, we use concrete materializations of concepts (e.g. code, code labs, tutorials, etc) with the goal to ground abstract concepts (e.g. life of a pixel) but not as a goal in itself. This materializes in few references to code, moving parts or ongoing projects.

We like talking about the past (e.g. the history of chrome, the web is not dead) and how and why concepts evolved over time (e.g. the evolution interpretation of javascript or the evolution of networking protocols) because we think that that gives attendees a framework that can help them approximate/predict/steer the future on their own.

We like learning about biographies too (e.g. path to chrome): we love to learn about the people that were involved in the development of the ideas and advice/recommendations.

We think there is more to developing a browser than knowing theory: as a human craft, working with other humans sometimes requires polishing our mindset. Unlike a traditional university, we encourage the introduction to strategies and language patterns that have evolved over time (e.g. the “rubber band theory” in Anatomy of the Web, the “strategies on building coalitions” in LIfe of a Standard, Respectful Communications and Lessons Learned).

We cater to a wide range of levels (interns, nooglers, transfers and old timers) and roles (engineers, product managers, managers, devrels, program managers, etc). So, whether you just joined the team and are looking to get up to speed or you’ve been here a long time but are looking for new challenges, Chrome University should give you a space to learn and to teach.

Speaking of teachers, we find that being a presenter is extremely gratifying: (a) to teach is to learn, (b) helping others is naturally gratifying and recognized, (c) you get some visibility and get to meet new people and (d) your team builds up a library of team knowledge for onboarding new comers. We also expect to encourage some cross pollination between teams, hopefully fostering the propagation of good ideas.

From a distribution perspective, we expect most the content to be consumed online / recorded and on demand, given how distributed our team is. The in-person event serves as an opportunity to meet people as well as to create new content (that gets recorded). We aim to make the content fairly foundational, so we expect it to have a shelf life of around 2-3 years.

We struggle to balance between repeating / redoing content (e.g. like a traditional university) versus creating new content (e.g. more 201 talks). On one hand, new folks joining the team or transfers need that baseline, but on the other hand, once recorded the videos are available on demand. We currently reserve the first day for redoing content for 101s and leave the following days for original 201s, 301s and so on. That’s a balance that we are still learning what works best.

While we love seeing everyone in person, we expect most of our content to be watched online via recorded videos.