Like many applications, the Slack desktop app logs how users interact with it. For example, it may log when a user views a screen or clicks on a button. Product Managers and Data Scientists analyze the logs, hoping to discover actionable insights to drive product refinements.
Slack’s desktop application is written in React. We built a React analytics logging library to: 1) increase developer velocity by making it easier to write logging code, 2) reduce log data errors, and 3) create a viewer to get a real-time look at logging. In this first (of two parts) article, we examine how we reached these goals, reviewing key pieces of the library: data sharing, logging impressions, and other events.
We’ve broken this post down into three sections:
- Sharing Data Efficiently: how to share log data between components without manual data copying and code duplication — thereby increasing velocity and reducing data errors
- Smarter Impressions: how we made it easy to log impressions while improving impression accuracy
- Easy Event Logging: how we simplified logging events, like clicks, while bolstering data consistency
Let’s dive in!