CINXE.COM

Google I/O 2021

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta http-equiv="X-UA-Compatible" content="ie=edge" /> <meta name="mobile-web-app-capable" content="yes" /> <meta name="apple-mobile-web-app-capable" content="yes" /> <title>Google I/O 2021</title> <meta name="og:title" content="Google I/O 2021" data-preact-helmet="true"> <meta name="description" content="Catch up on all that happened at Google I/O 2021." data-preact-helmet="true"> <meta name="og:description" content="Catch up on all that happened at Google I/O 2021." data-preact-helmet="true"> <meta name="og:site_name" content="Google I/O 2021" data-preact-helmet="true"> <meta name="google-site-verification" content="j-mH2xoHnxrJhQIEUgIH7V8b23Z4TUC1eIYOPx0QTC8" /> <meta name="insert-preact-helmet" /> <meta property="og:type" content="Event" /> <meta property="og:image" content="https://io.google/2021/assets/io_social_asset.jpg" /> <meta property="twitter:image" content="https://io.google/2021/assets/io_social_asset.jpg" /> <!-- Favicons --> <link rel="apple-touch-icon" sizes="180x180" href="/2021/assets/icons/apple-touch-icon.png" /> <link rel="icon" type="image/png" sizes="32x32" href="/2021/assets/icons/favicon-32x32.png" /> <link rel="icon" type="image/png" sizes="16x16" href="/2021/assets/icons/favicon-16x16.png" /> <link rel="mask-icon" href="/2021/assets/icons/safari-pinned-tab.svg" color="#5bbad5" /> <link rel="shortcut icon" href="/2021/assets/icons/favicon.ico" /> <meta name="msapplication-TileColor" content="#da532c"> <meta name="msapplication-config" content="/2021/assets/browserconfig.xml"> <meta name="theme-color" content="#ffffff"> <link crossorigin="anonymous" href="https://fonts.googleapis.com/icon?family=Google+Sans:400,500|Google+Sans+Display:400|Roboto:400,500|Roboto+Mono:400&display=swap" rel="stylesheet" nonce="MYWyIGTJXHl6yGqzV3ueKg" /> <!-- End Favicons --> <link rel="manifest" crossorigin="use-credentials" href="/2021/assets/manifest.json" /> <link href="https://www.gstatic.com/external_hosted/io21/mainiowa.20210805.css" rel="stylesheet" nonce="MYWyIGTJXHl6yGqzV3ueKg"></head> <body> <div id="app"></div> <!-- This needs to be included here for masking images --> <!-- See https://github.com/developit/preact-compat/issues/483 --> <svg class="svg-hidden-defs"> <clipPath id="stairClip" clipPathUnits="objectBoundingBox"> <polygon points="0,0 0,1 1,1 1,0.5 0.7,0.5 0.7,0.2 0.4,0.2 0.4,0 " /> </clipPath> <clipPath id="sawtoothClip" clipPathUnits="objectBoundingBox"> <polygon points="0,0 0.6,0 1,0.6 0.5,0.6 0.7,1 0,1 " /> </clipPath> <clipPath id="triangleClip" clipPathUnits="objectBoundingBox"> <polygon points="1 0, 0 1, 1 1" /> </clipPath> </svg> <script type="text/javascript" src="https://www.gstatic.com/external_hosted/io21/mainiowa.20210805.js" nonce="MYWyIGTJXHl6yGqzV3ueKg"></script></body> </html>