Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Rebuilding a faster, lazier Slack

samanthasiow
November 08, 2019

Rebuilding a faster, lazier Slack

A new version of Slack is rolling out for our desktop customers, built from the ground up to be faster, more efficient, and easier to work on. In this talk, I’ll focus on our move from an eager data model to a lazily loaded and incomplete data model, and how that made for a speedier Slack experience.

samanthasiow

November 08, 2019
Tweet

Other Decks in Technology

Transcript

  1. Handlebars & Smarty templates Manual DOM updates via jQuery Multiple

    processes for multiple workspaces Eager data loading LEGACY
  2. All UI components built in React Single process for multiple

    workspaces Lazily-loaded and incomplete data model MODERN
  3. ???

  4. ???

  5. 1. Prioritize 2. Parallelize Solutions: 3. The early bird get

    the worm API calls first meaningful paint on the screen faster
  6. References & Credits Mark Christian & Johnny Rodgers - bit.ly/slack-rebuild

    When a rewrite isn’t: rebuilding Slack on the desktop Service Workers at Slack: Our Quest for Faster Boot Times and Offline Support Jim Whimpey - bit.ly/slack-sw Introducing a snappier, more efficient Slack desktop experience tiny.cc/slack-intro Slide theme: Bitter Sweet Templates for Keynote - DesiGN (https://apps.apple.com/us/app/themes-for-keynote/id935290998?mt=12) Anuj Nair - bit.ly/slack-gantry Gantry: Slack’s Fast-booting Frontend Framework Anuj Nair - bit.ly/slack-sonic Sonic: A Slack Modernization Project
  7. slack.engineering References & Credits Mark Christian & Johnny Rodgers -

    bit.ly/slack-rebuild When a rewrite isn’t: rebuilding Slack on the desktop Service Workers at Slack: Our Quest for Faster Boot Times and Offline Support Jim Whimpey - bit.ly/slack-sw Introducing a snappier, more efficient Slack desktop experience tiny.cc/slack-intro Slide theme: Bitter Sweet Templates for Keynote - DesiGN (https://apps.apple.com/us/app/themes-for-keynote/id935290998?mt=12) Anuj Nair - bit.ly/slack-gantry Gantry: Slack’s Fast-booting Frontend Framework Anuj Nair - bit.ly/slack-sonic Sonic: A Slack Modernization Project