Slack

Reducing Slack’s memory footprint

Mar 3, 2017
Reducing Slack’s memory footprint
SummaryAI, from the source post

Introduced a 'tiny client' for backgrounded teams to reduce memory footprint. This involved teaching servers to calculate notification counts, determine desktop notification eligibility, and track unread status. Developed a new API endpoint for 'has_unreads' and 'mention_count' stored in memcache, and a new 'desktop_notification' message type distributed over websockets. The tiny client is a single JavaScript file of ~1200 lines. The desktop application manages swapping between the full and tiny clients based on team usage.

More from the Desktop Client Memory Optimization trail