CINXE.COM

Addy Osmani (@addyosmani) on Speaker Deck

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Addy Osmani (@addyosmani) on Speaker Deck</title> <link rel="preconnect" href="https://fonts.googleapis.com/"> <link rel="preconnect" href="https://fonts.gstatic.com/" crossorigin> <link rel="stylesheet" media="screen" href="https://d1eu30co0ohy4w.cloudfront.net/assets/application-22b0435c4ea6f7b1a840c358076015e07c901f6198f9ab389da2c4e1951ce406.css" /> <script src="https://d1eu30co0ohy4w.cloudfront.net/assets/application-6671076983cb094c30ae.js"></script> <link rel="icon" type="image/png" href="https://d1eu30co0ohy4w.cloudfront.net/assets/favicon-bdd5839d46040a50edf189174e6f7aacc8abb3aaecd56a4711cf00d820883f47.png" /> <link rel="apple-touch-icon" type="image/png" href="https://d1eu30co0ohy4w.cloudfront.net/assets/favicon-bdd5839d46040a50edf189174e6f7aacc8abb3aaecd56a4711cf00d820883f47.png" /> <link rel="manifest" href="/manifest.json"> <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover"> <meta name="csrf-param" content="authenticity_token" /> <meta name="csrf-token" content="9x8pwGXR1mT7LDrCKdeEADcvy3HaXDyUe0nLDqFdeAGUeaDAtLVWW2DJeIUsyXkFpf98z5QfRHM7PMpEtC4ubA==" /> <link rel="alternate" type="application/atom+xml" title="Addy Osmani&#39;s decks feed" href="https://speakerdeck.com/addyosmani.atom" /> <link rel="canonical" href="https://speakerdeck.com/addyosmani" /> <link rel="alternate" type="application/rss+xml" title="RSS" href="https://speakerdeck.com/addyosmani.rss" /> <meta name="stats-owner_id" content="7630" /> <meta name="stats-view_type" content="profile" /> <meta name="stats-page" content="1" /> </head> <body class="sd-app"> <div class="sd-menu"> <div class="container sd-menu-fixed-container"> <div class="sd-brand"> <a class="sd-brand-logo" href="/"> <img alt="Speaker Deck" width="32" height="20" src="https://d1eu30co0ohy4w.cloudfront.net/assets/mark-f4be6df1e05965cac9f98e664a6c35f5ffdd0207385d07464a9214d6cdf76082.svg" /> <span class="d-none d-xl-inline">Speaker Deck</span> </a> </div> <nav class="sd-fixed-nav" aria-label="Primary"> <div class="sd-nav-main js-toggle-container"> <ul class="sd-nav-fixed-group nav toggle-flex-when-off"> <li class="sd-nav-item nav-item d-none d-md-block"> <a class="sd-nav-link nav-link" href="/features"> Features </a> </li> <li class="sd-nav-item nav-item d-none d-md-block"> <a class="sd-nav-link nav-link" href="/pro"> <span class="d-none d-md-inline">Speaker Deck</span> <div class="badge badge-pro-prominent">PRO</div> </a> </li> <li class="sd-nav-item nav-item"> <a class="sd-nav-link nav-link" href="/signin"> Sign in </a> </li> <li class="sd-nav-item nav-item"> <a class="btn btn-primary" href="/signup"> Sign up for free </a> </li> <li class="sd-nav-item d-block d-md-none"> <button class="btn btn-link me-2 js-toggle-trigger" aria-label="Toggle Search"> <svg class="icon icon-search "><use xlink:href="/icons/icons.svg?v=2025-01-26#icon-search"></use></svg> </button> </li> <li class="sd-nav-item nav-item d-none d-md-block"> <form action="https://www.google.com/cse" id="cse-search-box" class="row"> <input type="hidden" name="cx" value="010150859881542981030:hqhxyxpwtc4"> <input type="hidden" name="ie" value="UTF-8"> <label for="q" class="visually-hidden">Search</label> <div class="col"><input type="text" name="q" id="q" value="" placeholder="Search..." class="form-control search-input w-auto"></div> <div class="col"><input type="submit" name="sa" value="Search" class="btn btn-outline-primary d-inline-block d-md-none d-lg-inline-block"></div> </form> </li> </ul> <ul class="sd-nav-fixed-group nav toggle-flex-when-on"> <li class="sd-nav-item"> <form action="https://www.google.com/cse" id="cse-search-box" class="row"> <input type="hidden" name="cx" value="010150859881542981030:hqhxyxpwtc4"> <input type="hidden" name="ie" value="UTF-8"> <label for="q" class="visually-hidden">Search</label> <div class="col"><input type="text" name="q" id="q" value="" placeholder="Search..." class="form-control search-input w-auto"></div> <div class="col"><input type="submit" name="sa" value="Search" class="btn btn-outline-primary d-inline-block d-md-none d-lg-inline-block"></div> </form> </li> <li class="sd-nav-item pe-2"> <button class="btn btn-link js-toggle-trigger"> <svg class="icon icon-x "><use xlink:href="/icons/icons.svg?v=2025-01-26#icon-x"></use></svg> </button> </li> </ul> </div> </nav> </div> </div> <div class="sd-categories"> <div class="container sd-categories-container td-none"> <div class="sd-categories-scroller"> <div class="sd-categories-item "> <a class="sd-categories-link" href="/p/featured">Featured</a> </div> <div class="sd-categories-item "> <a class="sd-categories-link" href="/c/business">Business</a> </div> <div class="sd-categories-item "> <a class="sd-categories-link" href="/c/design">Design</a> </div> <div class="sd-categories-item "> <a class="sd-categories-link" href="/c/education">Education</a> </div> <div class="sd-categories-item "> <a class="sd-categories-link" href="/c/how-to-diy">How-to &amp; DIY</a> </div> <div class="sd-categories-item "> <a class="sd-categories-link" href="/c/marketing-and-seo">Marketing &amp; SEO</a> </div> <div class="sd-categories-item "> <a class="sd-categories-link" href="/c/programming">Programming</a> </div> <div class="sd-categories-item "> <a class="sd-categories-link" href="/c/research">Research</a> </div> <div class="sd-categories-item "> <a class="sd-categories-link" href="/c/science">Science</a> </div> <div class="sd-categories-item "> <a class="sd-categories-link" href="/c/storyboards">Storyboards</a> </div> <div class="sd-categories-item "> <a class="sd-categories-link" href="/c/technology">Technology</a> </div> </div> </div> </div> <div class="sd-main"> <div class="profile container pt-md-4 pt-3"> <div class="profile-header row align-items-center mb-4"> <div class="col-12 col-md-auto text-center text-md-start"> <img width="64" height="64" class="avatar avatar-lg" loading="eager" alt="" src="https://secure.gravatar.com/avatar/96270e4c3e5e9806cf7245475c00b275?s=64" /> </div> <div class="col-12 col-md-auto ps-md-0 me-md-auto text-center text-md-start"> <h1> Addy Osmani </h1> <div class="text-muted"> addyosmani </div> <ul class="nav profile-meta"> <li class="nav-item"> <svg class="icon icon-card-fill "><use xlink:href="/icons/icons.svg?v=2025-01-26#icon-card-fill"></use></svg> <a class="" href="/addyosmani"> 57 Decks </a> </li> <li class="nav-item"> <svg class="icon icon-people "><use xlink:href="/icons/icons.svg?v=2025-01-26#icon-people"></use></svg> <a class="" href="/addyosmani/following"> 0 Following </a> </li> <li class="nav-item"> <a class="" href="/addyosmani/followers"> 135 Followers </a> </li> </ul> </div> <div class="col-12 col-md-auto pt-3 pt-lg-0 text-center text-md-start"> <div class="btn-group btn-group-flex d-flex"> <a class="btn btn-outline-primary w-100" href="/addyosmani/stars"> <svg class="icon icon-star "><use xlink:href="/icons/icons.svg?v=2025-01-26#icon-star"></use></svg> 21 Stars </a> </div> </div> </div> <div class="profile-details"> <ul class="list-unstyled"> <li class="profile--title">Head of DevX at Google Chrome</li> <li class="profile--company"><svg class="icon icon-building "><use xlink:href="/icons/icons.svg?v=2025-01-26#icon-building"></use></svg> Google</li> <li class="profile--location"><svg class="icon icon-geo-alt "><use xlink:href="/icons/icons.svg?v=2025-01-26#icon-geo-alt"></use></svg> California</li> <li class="profile--url"><svg class="icon icon-link-45deg "><use xlink:href="/icons/icons.svg?v=2025-01-26#icon-link-45deg"></use></svg> <a href="https://addyosmani.com" rel="noopener nofollow noreferrer" target="_blank">https://addyosmani.com</a></li> <li class="profile--social"><svg class="icon icon-twitter "><use xlink:href="/icons/icons.svg?v=2025-01-26#icon-twitter"></use></svg> <a href="https://twitter.com/addyosmani" rel="noopener nofollow noreferrer" target="_blank">@addyosmani</a></li> <li class="profile--social"><svg class="icon icon-linkedin "><use xlink:href="/icons/icons.svg?v=2025-01-26#icon-linkedin"></use></svg> <a href="https://www.linkedin.com/in/addyosmani/" rel="noopener nofollow noreferrer" target="_blank">in/addyosmani</a></li> <li class="profile--social"><svg class="icon icon-instagram "><use xlink:href="/icons/icons.svg?v=2025-01-26#icon-instagram"></use></svg> <a href="https://instagram.com/addyist" rel="noopener nofollow noreferrer" target="_blank">addyist</a></li> </ul> </div> <div class="profile--description"><p>Engineering leader working on Google Chrome</p></div> <h2 class="h3">Skills</h2> <ul class="ps-0 mb-4 profile--skills"> <li class="badge bg-secondary" title="JavaScript">JavaScript</li> <li class="badge bg-secondary" title="Leadership">Leadership</li> <li class="badge bg-secondary" title="Developer Experience">Developer Experience</li> <li class="badge bg-secondary" title="Public Speaking">Public Speaking</li> <li class="badge bg-secondary" title="Web Development">Web Development</li> <li class="badge bg-secondary" title="Frameworks">Frameworks</li> </ul> </div> <div class="container py-md-4 py-3"> <div class="row mb-4 align-items-center"> <div class="col-12 col-lg-6 mb-3 mb-lg-0"> <h1>Decks</h1> </div> <div class="col-12 col-lg-6 text-lg-end d-flex justify-content-end"> <form action="" class="row align-items-center justify-content-lg-end w-100 g-1" id="form-deck-sort"> <input type="hidden" name="page" value=""> <input type="hidden" name="q" value=""> <div class="col-auto"> <label for="lang" class="visually-hidden">Language</label> <select name="lang" id="lang" class="form-select deck-sort w-auto"><option value="">All Languages</option><option value="ko">한국인</option> <option value="de">Deutsch</option> <option value="en">English</option> <option value="es">Español</option> <option value="fr">Français</option> <option value="it">Italiano</option> <option value="pt">Português</option> <option value="ru">Pусский</option> <option value="sv">Svenska</option> <option value="vi">Tiếng Việt</option> <option value="zh_cn">中文 (simplified)</option> <option value="zh_tw">中文 (traditional)</option> <option value="ja">日本語</option></select> </div> </form> </div> </div> <div class="row mt-4 mb-4"> <div class="col-12 col-md-6 col-lg-4 mb-5"> <div class="card deck-preview" data-id="e375f41b5dc84ae8a41b6c5f9d8fe544" data-slide-count="55" data-cover-image="https://files.speakerdeck.com/presentations/e375f41b5dc84ae8a41b6c5f9d8fe544/preview_slide_0.jpg?32770706"> <a class="deck-preview-link" href="/addyosmani/chrome-devtools-state-of-the-union-2024-debugging-react-and-beyond" title="Chrome DevTools: State of the Union 2024 - Debugging React &amp; Beyond"> <div class="deck-preview-image"> <div class="content"></div> <div class="deck-preview-slide" style="background-image: url('https://files.speakerdeck.com/presentations/e375f41b5dc84ae8a41b6c5f9d8fe544/preview_slide_0.jpg?32770706');"></div> <div class="deck-preview-background" style="background-image: url('https://files.speakerdeck.com/presentations/e375f41b5dc84ae8a41b6c5f9d8fe544/preview_slide_0.jpg?32770706');"></div> <div class="deck-preview-slide deck-preview-scrub-slide"></div> <div class="deck-preview-background deck-preview-scrub-background"></div> <div class="deck-preview-scrubber"></div> </div> <div class="deck-title px-3 pt-3 text-truncate"> Chrome DevTools: State of the Union 2024 - Debugging React &amp; Beyond </div> </a> <div class="deck-preview-meta d-flex px-2"> <div class="text-truncate py-3 pe-2 me-auto py-3"> <a href="/addyosmani" aria-label="Addy Osmani profile"> <img width="24" height="24" class="avatar avatar-sm" loading="lazy" alt="" src="https://secure.gravatar.com/avatar/96270e4c3e5e9806cf7245475c00b275?s=24" /> addyosmani </a> </div> <div class="px-1 py-3"> </div> <div class="px-2 py-3"> <svg class="icon icon-star "><use xlink:href="/icons/icons.svg?v=2025-01-26#icon-star"></use></svg> 4 </div> <div class="px-1 py-3"> <span title="468 views"><svg class="icon icon-eye "><use xlink:href="/icons/icons.svg?v=2025-01-26#icon-eye"></use></svg> 470</span> </div> </div> </div> </div> <div class="col-12 col-md-6 col-lg-4 mb-5"> <div class="card deck-preview" data-id="a95177e514ac4fc7b4e95b735724b965" data-slide-count="101" data-cover-image="https://files.speakerdeck.com/presentations/a95177e514ac4fc7b4e95b735724b965/preview_slide_0.jpg?26165331"> <a class="deck-preview-link" href="/addyosmani/the-cost-of-javascript-in-2023" title="The Cost Of JavaScript in 2023"> <div class="deck-preview-image"> <div class="content"></div> <div class="deck-preview-slide" style="background-image: url('https://files.speakerdeck.com/presentations/a95177e514ac4fc7b4e95b735724b965/preview_slide_0.jpg?26165331');"></div> <div class="deck-preview-background" style="background-image: url('https://files.speakerdeck.com/presentations/a95177e514ac4fc7b4e95b735724b965/preview_slide_0.jpg?26165331');"></div> <div class="deck-preview-slide deck-preview-scrub-slide"></div> <div class="deck-preview-background deck-preview-scrub-background"></div> <div class="deck-preview-scrubber"></div> </div> <div class="deck-title px-3 pt-3 text-truncate"> The Cost Of JavaScript in 2023 </div> </a> <div class="deck-preview-meta d-flex px-2"> <div class="text-truncate py-3 pe-2 me-auto py-3"> <a href="/addyosmani" aria-label="Addy Osmani profile"> <img width="24" height="24" class="avatar avatar-sm" loading="lazy" alt="" src="https://secure.gravatar.com/avatar/96270e4c3e5e9806cf7245475c00b275?s=24" /> addyosmani </a> </div> <div class="px-1 py-3"> </div> <div class="px-2 py-3"> <svg class="icon icon-star "><use xlink:href="/icons/icons.svg?v=2025-01-26#icon-star"></use></svg> 48 </div> <div class="px-1 py-3"> <span title="7,602 views"><svg class="icon icon-eye "><use xlink:href="/icons/icons.svg?v=2025-01-26#icon-eye"></use></svg> 7.6k</span> </div> </div> </div> </div> <div class="col-12 col-md-6 col-lg-4 mb-5"> <div class="card deck-preview" data-id="66c849642118472d96203fe44e0ee3f3" data-slide-count="16" data-cover-image="https://files.speakerdeck.com/presentations/66c849642118472d96203fe44e0ee3f3/preview_slide_0.jpg?22370559"> <a class="deck-preview-link" href="/addyosmani/communicating-effectively-as-a-tech-lead" title="Communicating Effectively As A Tech Lead"> <div class="deck-preview-image"> <div class="content"></div> <div class="deck-preview-slide" style="background-image: url('https://files.speakerdeck.com/presentations/66c849642118472d96203fe44e0ee3f3/preview_slide_0.jpg?22370559');"></div> <div class="deck-preview-background" style="background-image: url('https://files.speakerdeck.com/presentations/66c849642118472d96203fe44e0ee3f3/preview_slide_0.jpg?22370559');"></div> <div class="deck-preview-slide deck-preview-scrub-slide"></div> <div class="deck-preview-background deck-preview-scrub-background"></div> <div class="deck-preview-scrubber"></div> </div> <div class="deck-title px-3 pt-3 text-truncate"> Communicating Effectively As A Tech Lead </div> </a> <div class="deck-preview-meta d-flex px-2"> <div class="text-truncate py-3 pe-2 me-auto py-3"> <a href="/addyosmani" aria-label="Addy Osmani profile"> <img width="24" height="24" class="avatar avatar-sm" loading="lazy" alt="" src="https://secure.gravatar.com/avatar/96270e4c3e5e9806cf7245475c00b275?s=24" /> addyosmani </a> </div> <div class="px-1 py-3"> </div> <div class="px-2 py-3"> <svg class="icon icon-star "><use xlink:href="/icons/icons.svg?v=2025-01-26#icon-star"></use></svg> 4 </div> <div class="px-1 py-3"> <span title="4,785 views"><svg class="icon icon-eye "><use xlink:href="/icons/icons.svg?v=2025-01-26#icon-eye"></use></svg> 4.8k</span> </div> </div> </div> </div> <div class="col-12 col-md-6 col-lg-4 mb-5"> <div class="card deck-preview" data-id="ba98e5fb792f45d99b28f641f2be0e50" data-slide-count="112" data-cover-image="https://files.speakerdeck.com/presentations/ba98e5fb792f45d99b28f641f2be0e50/preview_slide_0.jpg?22283353"> <a class="deck-preview-link" href="/addyosmani/the-future-of-performance-tooling" title="The Future Of Performance Tooling"> <div class="deck-preview-image"> <div class="content"></div> <div class="deck-preview-slide" style="background-image: url('https://files.speakerdeck.com/presentations/ba98e5fb792f45d99b28f641f2be0e50/preview_slide_0.jpg?22283353');"></div> <div class="deck-preview-background" style="background-image: url('https://files.speakerdeck.com/presentations/ba98e5fb792f45d99b28f641f2be0e50/preview_slide_0.jpg?22283353');"></div> <div class="deck-preview-slide deck-preview-scrub-slide"></div> <div class="deck-preview-background deck-preview-scrub-background"></div> <div class="deck-preview-scrubber"></div> </div> <div class="deck-title px-3 pt-3 text-truncate"> The Future Of Performance Tooling </div> </a> <div class="deck-preview-meta d-flex px-2"> <div class="text-truncate py-3 pe-2 me-auto py-3"> <a href="/addyosmani" aria-label="Addy Osmani profile"> <img width="24" height="24" class="avatar avatar-sm" loading="lazy" alt="" src="https://secure.gravatar.com/avatar/96270e4c3e5e9806cf7245475c00b275?s=24" /> addyosmani </a> </div> <div class="px-1 py-3"> </div> <div class="px-2 py-3"> <svg class="icon icon-star "><use xlink:href="/icons/icons.svg?v=2025-01-26#icon-star"></use></svg> 2 </div> <div class="px-1 py-3"> <span title="773 views"><svg class="icon icon-eye "><use xlink:href="/icons/icons.svg?v=2025-01-26#icon-eye"></use></svg> 770</span> </div> </div> </div> </div> <div class="col-12 col-md-6 col-lg-4 mb-5"> <div class="card deck-preview" data-id="05c27680526b4e878cf5f71df86a1220" data-slide-count="79" data-cover-image="https://files.speakerdeck.com/presentations/05c27680526b4e878cf5f71df86a1220/preview_slide_0.jpg?22283532"> <a class="deck-preview-link" href="/addyosmani/picture-perfect-how-to-instantly-load-images" title="Picture Perfect - How To Instantly Load Images"> <div class="deck-preview-image"> <div class="content"></div> <div class="deck-preview-slide" style="background-image: url('https://files.speakerdeck.com/presentations/05c27680526b4e878cf5f71df86a1220/preview_slide_0.jpg?22283532');"></div> <div class="deck-preview-background" style="background-image: url('https://files.speakerdeck.com/presentations/05c27680526b4e878cf5f71df86a1220/preview_slide_0.jpg?22283532');"></div> <div class="deck-preview-slide deck-preview-scrub-slide"></div> <div class="deck-preview-background deck-preview-scrub-background"></div> <div class="deck-preview-scrubber"></div> </div> <div class="deck-title px-3 pt-3 text-truncate"> Picture Perfect - How To Instantly Load Images </div> </a> <div class="deck-preview-meta d-flex px-2"> <div class="text-truncate py-3 pe-2 me-auto py-3"> <a href="/addyosmani" aria-label="Addy Osmani profile"> <img width="24" height="24" class="avatar avatar-sm" loading="lazy" alt="" src="https://secure.gravatar.com/avatar/96270e4c3e5e9806cf7245475c00b275?s=24" /> addyosmani </a> </div> <div class="px-1 py-3"> </div> <div class="px-2 py-3"> <svg class="icon icon-star "><use xlink:href="/icons/icons.svg?v=2025-01-26#icon-star"></use></svg> 3 </div> <div class="px-1 py-3"> <span title="671 views"><svg class="icon icon-eye "><use xlink:href="/icons/icons.svg?v=2025-01-26#icon-eye"></use></svg> 670</span> </div> </div> </div> </div> <div class="col-12 col-md-6 col-lg-4 mb-5"> <div class="card deck-preview" data-id="163ca100b15b4514aaaf67771dad8db4" data-slide-count="35" data-cover-image="https://files.speakerdeck.com/presentations/163ca100b15b4514aaaf67771dad8db4/preview_slide_0.jpg?22283855"> <a class="deck-preview-link" href="/addyosmani/polyfilling-the-web-forward" title="Polyfilling The Web Forward"> <div class="deck-preview-image"> <div class="content"></div> <div class="deck-preview-slide" style="background-image: url('https://files.speakerdeck.com/presentations/163ca100b15b4514aaaf67771dad8db4/preview_slide_0.jpg?22283855');"></div> <div class="deck-preview-background" style="background-image: url('https://files.speakerdeck.com/presentations/163ca100b15b4514aaaf67771dad8db4/preview_slide_0.jpg?22283855');"></div> <div class="deck-preview-slide deck-preview-scrub-slide"></div> <div class="deck-preview-background deck-preview-scrub-background"></div> <div class="deck-preview-scrubber"></div> </div> <div class="deck-title px-3 pt-3 text-truncate"> Polyfilling The Web Forward </div> </a> <div class="deck-preview-meta d-flex px-2"> <div class="text-truncate py-3 pe-2 me-auto py-3"> <a href="/addyosmani" aria-label="Addy Osmani profile"> <img width="24" height="24" class="avatar avatar-sm" loading="lazy" alt="" src="https://secure.gravatar.com/avatar/96270e4c3e5e9806cf7245475c00b275?s=24" /> addyosmani </a> </div> <div class="px-1 py-3"> </div> <div class="px-2 py-3"> <svg class="icon icon-star "><use xlink:href="/icons/icons.svg?v=2025-01-26#icon-star"></use></svg> 1 </div> <div class="px-1 py-3"> <span title="485 views"><svg class="icon icon-eye "><use xlink:href="/icons/icons.svg?v=2025-01-26#icon-eye"></use></svg> 490</span> </div> </div> </div> </div> <div class="col-12 col-md-6 col-lg-4 mb-5"> <div class="card deck-preview" data-id="0fabf5ae5766454da983dc31da73e405" data-slide-count="91" data-cover-image="https://files.speakerdeck.com/presentations/0fabf5ae5766454da983dc31da73e405/preview_slide_0.jpg?18133575"> <a class="deck-preview-link" href="/addyosmani/picture-perfect-an-image-optimization-talk" title="Picture Perfect - An Image Optimization Talk"> <div class="deck-preview-image"> <div class="content"></div> <div class="deck-preview-slide" style="background-image: url('https://files.speakerdeck.com/presentations/0fabf5ae5766454da983dc31da73e405/preview_slide_0.jpg?18133575');"></div> <div class="deck-preview-background" style="background-image: url('https://files.speakerdeck.com/presentations/0fabf5ae5766454da983dc31da73e405/preview_slide_0.jpg?18133575');"></div> <div class="deck-preview-slide deck-preview-scrub-slide"></div> <div class="deck-preview-background deck-preview-scrub-background"></div> <div class="deck-preview-scrubber"></div> </div> <div class="deck-title px-3 pt-3 text-truncate"> Picture Perfect - An Image Optimization Talk </div> </a> <div class="deck-preview-meta d-flex px-2"> <div class="text-truncate py-3 pe-2 me-auto py-3"> <a href="/addyosmani" aria-label="Addy Osmani profile"> <img width="24" height="24" class="avatar avatar-sm" loading="lazy" alt="" src="https://secure.gravatar.com/avatar/96270e4c3e5e9806cf7245475c00b275?s=24" /> addyosmani </a> </div> <div class="px-1 py-3"> </div> <div class="px-2 py-3"> <svg class="icon icon-star "><use xlink:href="/icons/icons.svg?v=2025-01-26#icon-star"></use></svg> 2 </div> <div class="px-1 py-3"> <span title="692 views"><svg class="icon icon-eye "><use xlink:href="/icons/icons.svg?v=2025-01-26#icon-eye"></use></svg> 690</span> </div> </div> </div> </div> <div class="col-12 col-md-6 col-lg-4 mb-5"> <div class="card deck-preview" data-id="433b599f266948fe8dc0d7fe15bdcffc" data-slide-count="436" data-cover-image="https://files.speakerdeck.com/presentations/433b599f266948fe8dc0d7fe15bdcffc/preview_slide_0.jpg?20247375"> <a class="deck-preview-link" href="/addyosmani/learning-patterns" title="Learning Patterns"> <div class="deck-preview-image"> <div class="content"></div> <div class="deck-preview-slide" style="background-image: url('https://files.speakerdeck.com/presentations/433b599f266948fe8dc0d7fe15bdcffc/preview_slide_0.jpg?20247375');"></div> <div class="deck-preview-background" style="background-image: url('https://files.speakerdeck.com/presentations/433b599f266948fe8dc0d7fe15bdcffc/preview_slide_0.jpg?20247375');"></div> <div class="deck-preview-slide deck-preview-scrub-slide"></div> <div class="deck-preview-background deck-preview-scrub-background"></div> <div class="deck-preview-scrubber"></div> </div> <div class="deck-title px-3 pt-3 text-truncate"> Learning Patterns </div> </a> <div class="deck-preview-meta d-flex px-2"> <div class="text-truncate py-3 pe-2 me-auto py-3"> <a href="/addyosmani" aria-label="Addy Osmani profile"> <img width="24" height="24" class="avatar avatar-sm" loading="lazy" alt="" src="https://secure.gravatar.com/avatar/96270e4c3e5e9806cf7245475c00b275?s=24" /> addyosmani </a> </div> <div class="px-1 py-3"> </div> <div class="px-2 py-3"> <svg class="icon icon-star "><use xlink:href="/icons/icons.svg?v=2025-01-26#icon-star"></use></svg> 29 </div> <div class="px-1 py-3"> <span title="76,397 views"><svg class="icon icon-eye "><use xlink:href="/icons/icons.svg?v=2025-01-26#icon-eye"></use></svg> 76k</span> </div> </div> </div> </div> <div class="col-12 col-md-6 col-lg-4 mb-5"> <div class="card deck-preview" data-id="dab6eccf8f324479be8265275c804c7a" data-slide-count="100" data-cover-image="https://files.speakerdeck.com/presentations/dab6eccf8f324479be8265275c804c7a/preview_slide_0.jpg?22283631"> <a class="deck-preview-link" href="/addyosmani/optimizing-for-core-web-vitals" title="Optimizing For Core Web Vitals"> <div class="deck-preview-image"> <div class="content"></div> <div class="deck-preview-slide" style="background-image: url('https://files.speakerdeck.com/presentations/dab6eccf8f324479be8265275c804c7a/preview_slide_0.jpg?22283631');"></div> <div class="deck-preview-background" style="background-image: url('https://files.speakerdeck.com/presentations/dab6eccf8f324479be8265275c804c7a/preview_slide_0.jpg?22283631');"></div> <div class="deck-preview-slide deck-preview-scrub-slide"></div> <div class="deck-preview-background deck-preview-scrub-background"></div> <div class="deck-preview-scrubber"></div> </div> <div class="deck-title px-3 pt-3 text-truncate"> Optimizing For Core Web Vitals </div> </a> <div class="deck-preview-meta d-flex px-2"> <div class="text-truncate py-3 pe-2 me-auto py-3"> <a href="/addyosmani" aria-label="Addy Osmani profile"> <img width="24" height="24" class="avatar avatar-sm" loading="lazy" alt="" src="https://secure.gravatar.com/avatar/96270e4c3e5e9806cf7245475c00b275?s=24" /> addyosmani </a> </div> <div class="px-1 py-3"> </div> <div class="px-2 py-3"> <svg class="icon icon-star "><use xlink:href="/icons/icons.svg?v=2025-01-26#icon-star"></use></svg> 0 </div> <div class="px-1 py-3"> <span title="863 views"><svg class="icon icon-eye "><use xlink:href="/icons/icons.svg?v=2025-01-26#icon-eye"></use></svg> 860</span> </div> </div> </div> </div> <div class="col-12 col-md-6 col-lg-4 mb-5"> <div class="card deck-preview" data-id="21f24687bc044f2181a7d08579de0991" data-slide-count="67" data-cover-image="https://files.speakerdeck.com/presentations/21f24687bc044f2181a7d08579de0991/preview_slide_0.jpg?22283737"> <a class="deck-preview-link" href="/addyosmani/adaptive-loading-improving-the-ux-for-billions-on-low-end-devices" title="Adaptive Loading - Improving the UX for billions on low-end devices"> <div class="deck-preview-image"> <div class="content"></div> <div class="deck-preview-slide" style="background-image: url('https://files.speakerdeck.com/presentations/21f24687bc044f2181a7d08579de0991/preview_slide_0.jpg?22283737');"></div> <div class="deck-preview-background" style="background-image: url('https://files.speakerdeck.com/presentations/21f24687bc044f2181a7d08579de0991/preview_slide_0.jpg?22283737');"></div> <div class="deck-preview-slide deck-preview-scrub-slide"></div> <div class="deck-preview-background deck-preview-scrub-background"></div> <div class="deck-preview-scrubber"></div> </div> <div class="deck-title px-3 pt-3 text-truncate"> Adaptive Loading - Improving the UX for billions on low-end devices </div> </a> <div class="deck-preview-meta d-flex px-2"> <div class="text-truncate py-3 pe-2 me-auto py-3"> <a href="/addyosmani" aria-label="Addy Osmani profile"> <img width="24" height="24" class="avatar avatar-sm" loading="lazy" alt="" src="https://secure.gravatar.com/avatar/96270e4c3e5e9806cf7245475c00b275?s=24" /> addyosmani </a> </div> <div class="px-1 py-3"> </div> <div class="px-2 py-3"> <svg class="icon icon-star "><use xlink:href="/icons/icons.svg?v=2025-01-26#icon-star"></use></svg> 0 </div> <div class="px-1 py-3"> <span title="444 views"><svg class="icon icon-eye "><use xlink:href="/icons/icons.svg?v=2025-01-26#icon-eye"></use></svg> 440</span> </div> </div> </div> </div> <div class="col-12 col-md-6 col-lg-4 mb-5"> <div class="card deck-preview" data-id="da24f990c7b64e959c5df524f5a9b162" data-slide-count="86" data-cover-image="https://files.speakerdeck.com/presentations/da24f990c7b64e959c5df524f5a9b162/preview_slide_0.jpg?13850093"> <a class="deck-preview-link" href="/addyosmani/the-cost-of-javascript-in-2019-concatenateconf" title="The Cost Of JavaScript in 2019 (ConcatenateConf)"> <div class="deck-preview-image"> <div class="content"></div> <div class="deck-preview-slide" style="background-image: url('https://files.speakerdeck.com/presentations/da24f990c7b64e959c5df524f5a9b162/preview_slide_0.jpg?13850093');"></div> <div class="deck-preview-background" style="background-image: url('https://files.speakerdeck.com/presentations/da24f990c7b64e959c5df524f5a9b162/preview_slide_0.jpg?13850093');"></div> <div class="deck-preview-slide deck-preview-scrub-slide"></div> <div class="deck-preview-background deck-preview-scrub-background"></div> <div class="deck-preview-scrubber"></div> </div> <div class="deck-title px-3 pt-3 text-truncate"> The Cost Of JavaScript in 2019 (ConcatenateConf) </div> </a> <div class="deck-preview-meta d-flex px-2"> <div class="text-truncate py-3 pe-2 me-auto py-3"> <a href="/addyosmani" aria-label="Addy Osmani profile"> <img width="24" height="24" class="avatar avatar-sm" loading="lazy" alt="" src="https://secure.gravatar.com/avatar/96270e4c3e5e9806cf7245475c00b275?s=24" /> addyosmani </a> </div> <div class="px-1 py-3"> </div> <div class="px-2 py-3"> <svg class="icon icon-star "><use xlink:href="/icons/icons.svg?v=2025-01-26#icon-star"></use></svg> 6 </div> <div class="px-1 py-3"> <span title="2,195 views"><svg class="icon icon-eye "><use xlink:href="/icons/icons.svg?v=2025-01-26#icon-eye"></use></svg> 2.2k</span> </div> </div> </div> </div> <div class="col-12 col-md-6 col-lg-4 mb-5"> <div class="card deck-preview" data-id="c1938a4857274702b4b733fd8fb98069" data-slide-count="107" data-cover-image="https://files.speakerdeck.com/presentations/c1938a4857274702b4b733fd8fb98069/preview_slide_0.jpg?12545637"> <a class="deck-preview-link" href="/addyosmani/speed-at-scale-web-performance-tips-and-tricks-from-the-trenches" title="Speed at Scale: Web Performance Tips and Tricks from the Trenches"> <div class="deck-preview-image"> <div class="content"></div> <div class="deck-preview-slide" style="background-image: url('https://files.speakerdeck.com/presentations/c1938a4857274702b4b733fd8fb98069/preview_slide_0.jpg?12545637');"></div> <div class="deck-preview-background" style="background-image: url('https://files.speakerdeck.com/presentations/c1938a4857274702b4b733fd8fb98069/preview_slide_0.jpg?12545637');"></div> <div class="deck-preview-slide deck-preview-scrub-slide"></div> <div class="deck-preview-background deck-preview-scrub-background"></div> <div class="deck-preview-scrubber"></div> </div> <div class="deck-title px-3 pt-3 text-truncate"> Speed at Scale: Web Performance Tips and Tricks from the Trenches </div> </a> <div class="deck-preview-meta d-flex px-2"> <div class="text-truncate py-3 pe-2 me-auto py-3"> <a href="/addyosmani" aria-label="Addy Osmani profile"> <img width="24" height="24" class="avatar avatar-sm" loading="lazy" alt="" src="https://secure.gravatar.com/avatar/96270e4c3e5e9806cf7245475c00b275?s=24" /> addyosmani </a> </div> <div class="px-1 py-3"> </div> <div class="px-2 py-3"> <svg class="icon icon-star "><use xlink:href="/icons/icons.svg?v=2025-01-26#icon-star"></use></svg> 4 </div> <div class="px-1 py-3"> <span title="1,760 views"><svg class="icon icon-eye "><use xlink:href="/icons/icons.svg?v=2025-01-26#icon-eye"></use></svg> 1.8k</span> </div> </div> </div> </div> <div class="col-12 col-md-6 col-lg-4 mb-5"> <div class="card deck-preview" data-id="8d4cf1219c5b4ba68d29e9a193033409" data-slide-count="78" data-cover-image="https://files.speakerdeck.com/presentations/8d4cf1219c5b4ba68d29e9a193033409/preview_slide_0.jpg?12545559"> <a class="deck-preview-link" href="/addyosmani/the-cost-of-javascript-in-2019" title="The Cost Of JavaScript in 2019"> <div class="deck-preview-image"> <div class="content"></div> <div class="deck-preview-slide" style="background-image: url('https://files.speakerdeck.com/presentations/8d4cf1219c5b4ba68d29e9a193033409/preview_slide_0.jpg?12545559');"></div> <div class="deck-preview-background" style="background-image: url('https://files.speakerdeck.com/presentations/8d4cf1219c5b4ba68d29e9a193033409/preview_slide_0.jpg?12545559');"></div> <div class="deck-preview-slide deck-preview-scrub-slide"></div> <div class="deck-preview-background deck-preview-scrub-background"></div> <div class="deck-preview-scrubber"></div> </div> <div class="deck-title px-3 pt-3 text-truncate"> The Cost Of JavaScript in 2019 </div> </a> <div class="deck-preview-meta d-flex px-2"> <div class="text-truncate py-3 pe-2 me-auto py-3"> <a href="/addyosmani" aria-label="Addy Osmani profile"> <img width="24" height="24" class="avatar avatar-sm" loading="lazy" alt="" src="https://secure.gravatar.com/avatar/96270e4c3e5e9806cf7245475c00b275?s=24" /> addyosmani </a> </div> <div class="px-1 py-3"> </div> <div class="px-2 py-3"> <svg class="icon icon-star "><use xlink:href="/icons/icons.svg?v=2025-01-26#icon-star"></use></svg> 6 </div> <div class="px-1 py-3"> <span title="1,803 views"><svg class="icon icon-eye "><use xlink:href="/icons/icons.svg?v=2025-01-26#icon-eye"></use></svg> 1.8k</span> </div> </div> </div> </div> <div class="col-12 col-md-6 col-lg-4 mb-5"> <div class="card deck-preview" data-id="29a6a8b54eb543abbc386d2dbf099313" data-slide-count="19" data-cover-image="https://files.speakerdeck.com/presentations/29a6a8b54eb543abbc386d2dbf099313/preview_slide_0.jpg?12031215"> <a class="deck-preview-link" href="/addyosmani/state-of-speed-tools-this-dot-javascript" title="State of Speed Tools [This.JavaScript]"> <div class="deck-preview-image"> <div class="content"></div> <div class="deck-preview-slide" style="background-image: url('https://files.speakerdeck.com/presentations/29a6a8b54eb543abbc386d2dbf099313/preview_slide_0.jpg?12031215');"></div> <div class="deck-preview-background" style="background-image: url('https://files.speakerdeck.com/presentations/29a6a8b54eb543abbc386d2dbf099313/preview_slide_0.jpg?12031215');"></div> <div class="deck-preview-slide deck-preview-scrub-slide"></div> <div class="deck-preview-background deck-preview-scrub-background"></div> <div class="deck-preview-scrubber"></div> </div> <div class="deck-title px-3 pt-3 text-truncate"> State of Speed Tools [This.JavaScript] </div> </a> <div class="deck-preview-meta d-flex px-2"> <div class="text-truncate py-3 pe-2 me-auto py-3"> <a href="/addyosmani" aria-label="Addy Osmani profile"> <img width="24" height="24" class="avatar avatar-sm" loading="lazy" alt="" src="https://secure.gravatar.com/avatar/96270e4c3e5e9806cf7245475c00b275?s=24" /> addyosmani </a> </div> <div class="px-1 py-3"> </div> <div class="px-2 py-3"> <svg class="icon icon-star "><use xlink:href="/icons/icons.svg?v=2025-01-26#icon-star"></use></svg> 2 </div> <div class="px-1 py-3"> <span title="565 views"><svg class="icon icon-eye "><use xlink:href="/icons/icons.svg?v=2025-01-26#icon-eye"></use></svg> 570</span> </div> </div> </div> </div> <div class="col-12 col-md-6 col-lg-4 mb-5"> <div class="card deck-preview" data-id="3aad220f2cc745a786eb6725ba07e09f" data-slide-count="88" data-cover-image="https://files.speakerdeck.com/presentations/3aad220f2cc745a786eb6725ba07e09f/preview_slide_0.jpg?10008863"> <a class="deck-preview-link" href="/addyosmani/web-performance-made-easy" title="Web Performance Made Easy"> <div class="deck-preview-image"> <div class="content"></div> <div class="deck-preview-slide" style="background-image: url('https://files.speakerdeck.com/presentations/3aad220f2cc745a786eb6725ba07e09f/preview_slide_0.jpg?10008863');"></div> <div class="deck-preview-background" style="background-image: url('https://files.speakerdeck.com/presentations/3aad220f2cc745a786eb6725ba07e09f/preview_slide_0.jpg?10008863');"></div> <div class="deck-preview-slide deck-preview-scrub-slide"></div> <div class="deck-preview-background deck-preview-scrub-background"></div> <div class="deck-preview-scrubber"></div> </div> <div class="deck-title px-3 pt-3 text-truncate"> Web Performance Made Easy </div> </a> <div class="deck-preview-meta d-flex px-2"> <div class="text-truncate py-3 pe-2 me-auto py-3"> <a href="/addyosmani" aria-label="Addy Osmani profile"> <img width="24" height="24" class="avatar avatar-sm" loading="lazy" alt="" src="https://secure.gravatar.com/avatar/96270e4c3e5e9806cf7245475c00b275?s=24" /> addyosmani </a> </div> <div class="px-1 py-3"> </div> <div class="px-2 py-3"> <svg class="icon icon-star "><use xlink:href="/icons/icons.svg?v=2025-01-26#icon-star"></use></svg> 19 </div> <div class="px-1 py-3"> <span title="4,011 views"><svg class="icon icon-eye "><use xlink:href="/icons/icons.svg?v=2025-01-26#icon-eye"></use></svg> 4k</span> </div> </div> </div> </div> <div class="col-12 col-md-6 col-lg-4 mb-5"> <div class="card deck-preview" data-id="79fdc2a5291c441da61180c8b895dc2a" data-slide-count="133" data-cover-image="https://files.speakerdeck.com/presentations/79fdc2a5291c441da61180c8b895dc2a/preview_slide_0.jpg?8948511"> <a class="deck-preview-link" href="/addyosmani/lessons-learned-sciencing-the-web" title="Lessons Learned Sciencing The Web"> <div class="deck-preview-image"> <div class="content"></div> <div class="deck-preview-slide" style="background-image: url('https://files.speakerdeck.com/presentations/79fdc2a5291c441da61180c8b895dc2a/preview_slide_0.jpg?8948511');"></div> <div class="deck-preview-background" style="background-image: url('https://files.speakerdeck.com/presentations/79fdc2a5291c441da61180c8b895dc2a/preview_slide_0.jpg?8948511');"></div> <div class="deck-preview-slide deck-preview-scrub-slide"></div> <div class="deck-preview-background deck-preview-scrub-background"></div> <div class="deck-preview-scrubber"></div> </div> <div class="deck-title px-3 pt-3 text-truncate"> Lessons Learned Sciencing The Web </div> </a> <div class="deck-preview-meta d-flex px-2"> <div class="text-truncate py-3 pe-2 me-auto py-3"> <a href="/addyosmani" aria-label="Addy Osmani profile"> <img width="24" height="24" class="avatar avatar-sm" loading="lazy" alt="" src="https://secure.gravatar.com/avatar/96270e4c3e5e9806cf7245475c00b275?s=24" /> addyosmani </a> </div> <div class="px-1 py-3"> </div> <div class="px-2 py-3"> <svg class="icon icon-star "><use xlink:href="/icons/icons.svg?v=2025-01-26#icon-star"></use></svg> 18 </div> <div class="px-1 py-3"> <span title="1,368 views"><svg class="icon icon-eye "><use xlink:href="/icons/icons.svg?v=2025-01-26#icon-eye"></use></svg> 1.4k</span> </div> </div> </div> </div> <div class="col-12 col-md-6 col-lg-4 mb-5"> <div class="card deck-preview" data-id="1e60c958f3344f8f865750a5c5546713" data-slide-count="114" data-cover-image="https://files.speakerdeck.com/presentations/1e60c958f3344f8f865750a5c5546713/preview_slide_0.jpg?8838479"> <a class="deck-preview-link" href="/addyosmani/fast-by-default-modern-loading-best-practices" title="Fast By Default: Modern loading best practices"> <div class="deck-preview-image"> <div class="content"></div> <div class="deck-preview-slide" style="background-image: url('https://files.speakerdeck.com/presentations/1e60c958f3344f8f865750a5c5546713/preview_slide_0.jpg?8838479');"></div> <div class="deck-preview-background" style="background-image: url('https://files.speakerdeck.com/presentations/1e60c958f3344f8f865750a5c5546713/preview_slide_0.jpg?8838479');"></div> <div class="deck-preview-slide deck-preview-scrub-slide"></div> <div class="deck-preview-background deck-preview-scrub-background"></div> <div class="deck-preview-scrubber"></div> </div> <div class="deck-title px-3 pt-3 text-truncate"> Fast By Default: Modern loading best practices </div> </a> <div class="deck-preview-meta d-flex px-2"> <div class="text-truncate py-3 pe-2 me-auto py-3"> <a href="/addyosmani" aria-label="Addy Osmani profile"> <img width="24" height="24" class="avatar avatar-sm" loading="lazy" alt="" src="https://secure.gravatar.com/avatar/96270e4c3e5e9806cf7245475c00b275?s=24" /> addyosmani </a> </div> <div class="px-1 py-3"> </div> <div class="px-2 py-3"> <svg class="icon icon-star "><use xlink:href="/icons/icons.svg?v=2025-01-26#icon-star"></use></svg> 34 </div> <div class="px-1 py-3"> <span title="9,651 views"><svg class="icon icon-eye "><use xlink:href="/icons/icons.svg?v=2025-01-26#icon-eye"></use></svg> 9.7k</span> </div> </div> </div> </div> <div class="col-12 col-md-6 col-lg-4 mb-5"> <div class="card deck-preview" data-id="f6481f06402d4ad1b1cb0068179a183d" data-slide-count="198" data-cover-image="https://files.speakerdeck.com/presentations/f6481f06402d4ad1b1cb0068179a183d/preview_slide_0.jpg?8727518"> <a class="deck-preview-link" href="/addyosmani/instant-loading-making-the-web-competitive-on-mobile" title="Instant Loading: Making the web competitive on mobile"> <div class="deck-preview-image"> <div class="content"></div> <div class="deck-preview-slide" style="background-image: url('https://files.speakerdeck.com/presentations/f6481f06402d4ad1b1cb0068179a183d/preview_slide_0.jpg?8727518');"></div> <div class="deck-preview-background" style="background-image: url('https://files.speakerdeck.com/presentations/f6481f06402d4ad1b1cb0068179a183d/preview_slide_0.jpg?8727518');"></div> <div class="deck-preview-slide deck-preview-scrub-slide"></div> <div class="deck-preview-background deck-preview-scrub-background"></div> <div class="deck-preview-scrubber"></div> </div> <div class="deck-title px-3 pt-3 text-truncate"> Instant Loading: Making the web competitive on mobile </div> </a> <div class="deck-preview-meta d-flex px-2"> <div class="text-truncate py-3 pe-2 me-auto py-3"> <a href="/addyosmani" aria-label="Addy Osmani profile"> <img width="24" height="24" class="avatar avatar-sm" loading="lazy" alt="" src="https://secure.gravatar.com/avatar/96270e4c3e5e9806cf7245475c00b275?s=24" /> addyosmani </a> </div> <div class="px-1 py-3"> </div> <div class="px-2 py-3"> <svg class="icon icon-star "><use xlink:href="/icons/icons.svg?v=2025-01-26#icon-star"></use></svg> 13 </div> <div class="px-1 py-3"> <span title="1,092 views"><svg class="icon icon-eye "><use xlink:href="/icons/icons.svg?v=2025-01-26#icon-eye"></use></svg> 1.1k</span> </div> </div> </div> </div> </div> <nav class="pagy-bootstrap-nav"><ul class="pagination"><li class="page-item prev disabled"><a href="#" class="page-link">&lsaquo;&nbsp;Prev</a></li><li class="page-item next"><a href="/addyosmani?page=2" class="page-link" rel="next" aria-label="next">Next&nbsp;&rsaquo;</a></li></ul></nav> </div> <div class="container mb-4"> <div class="row"> <div class="col-12"> <p class="alert alert-promotion text-center shadow"><strong>Speaker Deck Pro:</strong> Add privacy options and schedule the publishing of your decks <a class="btn btn-sm btn-primary ms-4" href="/pro">Upgrade</a></p> </div> </div> </div> </div> <footer class="d-block bg-black sd-footer"> <img alt="" class="footer-logo-bg" loading="lazy" src="https://d1eu30co0ohy4w.cloudfront.net/assets/mark-f4be6df1e05965cac9f98e664a6c35f5ffdd0207385d07464a9214d6cdf76082.svg" /> <div class="container position-relative"> <div class="row py-3 py-md-5 justify-content-lg-between"> <div class="col-12 col-md-4 col-lg-3 text-center mb-2"> <a href="/"> <img alt="Speaker Deck" class="footer-logo mb-2" loading="lazy" src="https://d1eu30co0ohy4w.cloudfront.net/assets/mark-f4be6df1e05965cac9f98e664a6c35f5ffdd0207385d07464a9214d6cdf76082.svg" width="70" height="44" /> <p class="speaker-deck">SpeakerDeck</p> </a> <a class="footer-icon mx-1" title="SpeakerDeck on Facebook" href="https://www.facebook.com/speakerdeck"><svg class="icon icon-facebook "><use xlink:href="/icons/icons.svg?v=2025-01-26#icon-facebook"></use></svg></a> <a class="footer-icon mx-1" title="SpeakerDeck on Twitter" href="https://twitter.com/speakerdeck"><svg class="icon icon-twitter "><use xlink:href="/icons/icons.svg?v=2025-01-26#icon-twitter"></use></svg></a> </div> <div class="col-12 col-md-4 col-lg-auto py-2"> <nav aria-label="Top Categories"> <h2>Top Categories</h2> <ul class="nav-footer"> <li><a href="/c/programming">Programming</a></li> <li><a href="/c/technology">Technology</a></li> <li class="mb-3"><a href="/c/storyboards">Storyboards</a></li> <li><a href="/p/featured">Featured decks</a></li> <li><a href="/s/featured">Featured speakers</a></li> </ul> </nav> </div> <div class="col-12 col-md-4 col-lg-auto py-2"> <nav aria-label="Legal"> <h2>Use Cases</h2> <ul class="nav-footer"> <li><a href="/pro/storyboard-artists">Storyboard Artists</a></li> <li><a href="/educators">Educators</a></li> <li><a href="/student-pricing">Students</a></li> </ul> </nav> </div> <div class="col-12 col-md-4 col-lg-auto offset-md-4 offset-lg-0 py-2"> <nav aria-label="Resources"> <h2>Resources</h2> <ul class="nav-footer"> <li><a href="https://help.speakerdeck.com/">Help Center</a></li> <li><a href="https://blog.speakerdeck.com/">Blog</a></li> <li><a href="/slideshare-alternative">Compare Speaker Deck</a></li> <li><a href="/advertising">Advertising</a></li> </ul> </nav> </div> <div class="col-12 col-md-4 col-lg-auto py-2"> <nav aria-label="Features"> <h2>Features</h2> <ul class="nav-footer"> <li><a href="/features/privacy-controls">Private URLs</a></li> <li><a href="/features/password-protection">Password Protection</a></li> <li><a href="/features/custom-urls">Custom URLS</a></li> <li><a href="/features/scheduled-publishing">Scheduled publishing</a></li> <li><a href="/features/remove-branding">Remove Branding</a></li> <li><a href="/features/restrict-embedding">Restrict embedding</a></li> <li><a href="/features/slide-notes">Notes</a></li> </ul> </nav> </div> </div> <div class="row text-center border-top"> <div class="col-12 py-3"> <p class="copyright-text mb-1">Copyright &copy; 2025 Speaker Deck, LLC.</p> <p class="mb-1">All slide content and descriptions are owned by their creators.</p> <ul class="list-inline"> <li class="list-inline-item"><a href="/about">About</a></li> <li class="list-inline-item"><a href="/tos">Terms</a></li> <li class="list-inline-item"><a href="/privacy">Privacy</a></li> <li class="list-inline-item"><a href="/dmca">DMCA</a></li> <li class="list-inline-item"><a href="/accessibility">Accessibility Statement</a></li> </ul> </div> </div> </div> </footer> <script src="https://d1eu30co0ohy4w.cloudfront.net/assets/stats-985244a1810e3ad665b3.js"></script> <script data-turbolinks-eval="false"> Stats.host = 'speakerdeck.com'; </script> <script async src="https://www.googletagmanager.com/gtag/js?id=G-8WD0LC0MP9"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-8WD0LC0MP9'); </script> <script> !function(f,b,e,v,n,t,s) { if(f.fbq) return; n=f.fbq=function() { n.callMethod? n.callMethod.apply(n,arguments) : n.queue.push(arguments) }; if(!f._fbq) f._fbq=n; n.push=n; n.loaded=!0; n.version='2.0'; n.queue=[]; t=b.createElement(e); t.async=!0; t.src=v; s=b.getElementsByTagName(e)[0]; s.parentNode.insertBefore(t, s) }(window, document,'script', 'https://connect.facebook.net/en_US/fbevents.js'); fbq('init', '2893765844191276'); fbq('track', 'PageView'); </script> <noscript> <img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=2893765844191276&ev=PageView&noscript=1" /> </noscript> <script async type="text/javascript" src="https://platform.twitter.com/widgets.js"></script> <script> Array.from(document.querySelectorAll('.facebook-share')).forEach((element) => { element.addEventListener('click', function(e){ e.preventDefault() let title = encodeURIComponent(document.title) let url = encodeURIComponent(document.location.href) window.open('https://www.facebook.com/dialog/share?app_id=1428152667543587&display=popup&href=' + url + '&title=' + title, "_blank", "toolbar=no,menubar=no,location=yes,resizable=yes,scrollbars=yes,status=yes,width=600,height=400,modal=yes,alwaysRaised=yes"); }, false) }) </script> <script>(function(){function c(){var b=a.contentDocument||a.contentWindow.document;if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'92a1139b0bab9cbc',t:'MTc0MzYwNDc3Ny4wMDAwMDA='};var a=document.createElement('script');a.nonce='';a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script></body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10