How Slack Rebuilt Notifications ๐ฃ
Slack์ด 4๊ฐ์ง ์์ถฉํ๋ ์๋ฆผ ์ค์ ๋ชจ๋ธ์ ๋จ์ผ ํตํฉ ๋ชจ๋ธ๋ก ์ฌ์ค๊ณํด ์ค์ engagement 5๋ฐฐ ์ฆ๊ฐ
AI ์์ฝ
Context
Slack์ ๋ ๊ฑฐ์ ์๋ฆผ ์์คํ ์ ์๋ ๊ฐ ๋ณต์ก์ฑ์ด ์ถ์ ๋์ด 4๊ฐ์ง ์์ถฉํ๋ mental model์ ๊ฐ์ง๊ณ ์์๋ค. ๋ฐ์คํฌํฑ๊ณผ ๋ชจ๋ฐ์ผ์ด ์๋ก ๋ค๋ฅธ ์ค์ ์ต์ ๊ณผ ๋์์ ๊ฐ์ง๊ณ ์์๊ณ , ์ค์ ์ด ํด๋ผ์ด์ธํธ ๊ฐ์ ์ผ๊ด๋๊ฒ ๋๊ธฐํ๋์ง ์์ ์ฌ์ฉ์๊ฐ ์๋ฆผ ๋์์ ์์ธกํ ์ ์์๋ค. ์๋ฆผ ๊ด๋ จ ๊ณ ๊ฐ ์ง์ ์์ฒญ์ด ์์ 3๊ฐ ๋ฌธ์ ์ค ํ๋์์ผ๋ฉฐ, ์ฌ์ฉ์๋ค์ ์ค์ ์ ์ดํดํ๊ฑฐ๋ ์ ์ดํ๋ ๋ฐฉ๋ฒ์ ๋ชจ๋ฅด๊ณ ์์๋ค.
Technical Solution
- 4๊ฐ์ง preference ์์คํ ์ ๋จ์ผ ํตํฉ ๋ชจ๋ธ๋ก ๋ง์ด๊ทธ๋ ์ด์ : "All new posts", "Mentions", "Mute" 3๊ฐ์ง ๋ช ํํ ์ ํ์ง๋ก ํตํฉ
- Read-time ์ ๋ต์ ํ์ฉํ ํ์ ํธํ์ฑ ์ ์ง: ๊ธฐ์กด "Off" ์ค์ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ ์์ด "Mentions + push disabled"๋ก ๋์ํ๋๋ก ๋ณํ
- ์๋ก์ด "desktop_push_enabled" preference ๋์ : push ์๋ฆผ ํ์ฑํ๋ฅผ ์ ์ดํ๋ ์ ์ผํ ๋๋ผ์ด๋ฒ๋ก ์๋
- "What"๊ณผ "How" ๋ถ๋ฆฌ: in-app ์๋ฆผ์ ๋ชจ๋ ํด๋ผ์ด์ธํธ์์ ์ผ๊ด๋๊ฒ ์ ์งํ๊ณ , push ์๋ฆผ์ ํ๋ซํผ๋ณ๋ก ๋ ๋ฆฝ์ ์ผ๋ก ์ปค์คํฐ๋ง์ด์ง ๊ฐ๋ฅํ๋๋ก ์ฌ์ค๊ณ
- Cross-platform ๋๊ธฐํ ๊ฐ์ : ๋จ์ํ๋ preference ๋ก์ง์ผ๋ก ๋ชจ๋ฐ์ผ๊ณผ ๋ฐ์คํฌํฑ ๊ฐ ์ํ ์ผ๊ด์ฑ ๋ฌ์ฑ
Impact
- Settings engagement 5๋ฐฐ ์ฆ๊ฐ (์ถ์ ํ ๋ช ์ฃผ ๋์ ์ง์)
- Push notification toggle ๋์ ํ ์ฌ์ฉ์ engagement ์์น
- "Badge every unread message" ๊ฐ์ ๊ณ ๊ธ visibility ์ต์ significant engagement ๋ฌ์ฑ
- Per-channel override๊ฐ ํ์ํ ์ฌ์ฉ์ ๋น์จ ๊ฐ์
- Notification settings engagement๊ฐ ์ถ์ ํ ๋ช ์ฃผ ์ง์๋๋ฉฐ ํ ๋ฒ์ spike๊ฐ ์๋ ์ง์์ engagement ์ ์ง
Key Takeaway
Legacy ์์คํ ์ ๋ถ๋ถ์ ์ผ๋ก ํจ์นํ์ง ์๊ณ ๊ทผ๋ณธ์ ์ผ๋ก ์ฌ์ค๊ณํ ๋ ์ฌ์ฉ์์ mental model๊ณผ ์์คํ ๋ชจ๋ธ์ ์ ๋ ฌํ๋ฉด, ๊ธฐ์ ์ ๋จ์ํ๊ฐ ์๋ฐฑ๋ง ์ฌ์ฉ์์ ์ ์์ ์์ ๊ฐ์ผ๋ก ์ง๊ฒฐ๋๋ค. Cross-functional ํ์ ๊ธด๋ฐํ ํ์ ๊ณผ ์๋๋ณด๋ค ๋ช ํ์ฑ์ ์ฐ์ ์ํ๋ ์ผ๊ด๋ ์ ๋ ฌ์ด ์ด๋ฅผ ๊ฐ๋ฅํ๊ฒ ํ๋ค.
์ค์ฒ ํฌ์ธํธ
๋ค์ค ํ๋ซํผ์ด๋ ํด๋ผ์ด์ธํธ๋ฅผ ์ง์ํ๋ ์๋น์ค์์ ์ค์ ์์คํ ์ ์ฌ์ค๊ณํ ๋, ํ๋ซํผ๋ณ ์ ํ์ง๋ฅผ ํต์ผํ๊ธฐ ์ ์ read-time ๋ณํ ๋ ์ด์ด๋ฅผ ๋์ ํ๋ฉด ๋๊ท๋ชจ ์ฌ์ฉ์๋ฅผ ๋์์ผ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ง์ด๊ทธ๋ ์ด์ ์์ด ํธํ์ฑ์ ์ ์งํ๋ฉด์ ์ ์ง์ ์ผ๋ก ์ ํํ ์ ์๋ค. ๋ํ "์ด๋ค ์๋ฆผ์ ๋ฐ์์ง"์ "์ด๋ป๊ฒ ๋ฐ์์ง"๋ฅผ ์์ ํ ๋ถ๋ฆฌํ๋ฉด ๊ฐ ์ฐจ์์ ๋ ๋ฆฝ์ ์ผ๋ก ์ปค์คํฐ๋ง์ด์งํ๋ฉด์๋ ์ผ๊ด๋ ๊ธฐ๋ณธ ๋์์ ๋ณด์ฅํ ์ ์๋ค.