Closed alexkim205 closed 2 years ago
Hey @alexkim205, love the amount of thought you've put into this, and the wireframes look great!
Could you elaborate a bit on how we'll define "Amount of time users spend on the app?" Is that average session length on app.posthog.com
, or on one section of the app, or for a specific segment of users (insight creators vs. consumers)?
I'm also a bit confused as to how link sharing metrics are to be considered out of scope, yet references to them exist under KPIs.
Thanks for giving this overview of the plan!
RE: real time messaging. I'd add that more subtle features such as a "currently viewed by" widget could help in effecting stronger sense of collaboration.
The two major focuses seem solid overall. I think a good next step (or maybe it exists somewhere and I didn't see it) would be an execution plan that describes how these line items can be bundled together/ordered to be implemented.
I think this has now a lot of duplicated scope with #7244, should we maybe close the other one and continue the conversation here?
@alexkim205 I think a lot of the scope here has evolved, should we close this?
Yup a lot's changed since this was made, let's close this
Collaboration Design Doc
Internal Milestone Issue
Balsamiq Wireframes
This issue serves as a living design document that also tracks any decisions and findings made throughout the Collaborations project. Tagging @paolodamico, @clarkus, @mariusandra, @EDsCODE for context and general feedback.
Problem
Over the past few months, we've put a lot of work (see Saved Insights) into refactoring saved insights and dashboards into standalone entities in the app. However, there is no natively supported way to share these insights, more or less share them with purpose and context. This product gap has several disadvantages:
Requirements
Proposals
Today
Why can't we incorporate collaboration into our current features?
Today, if an internal team member wants to share an insight with another team member or external user, they have three options:
All of these options are lacking and don't solve the core collaboration issue at hand.
Tomorrow
Below we propose two new features.
Insight Discussions
Tomorrow's saved insight and dashboard pages will have an overlay that allows users to start discussion threads that are persisted company wide. Internal PostHog team members will be able to comment and cross-tag each other to engage in conversation or provide context for others that can easily be forgotten or buried. Conversations are persisted for the entire lifetime of an insight, which means that historical context is captured as an insight evolves with time.
Users deserve a rich and modern chat experience that updates/notifies users in real time (via sockets), allows tagging of other teammates, has a rich markdown experience, and more. However, PostHog does not have a well defined notifications system that these features can be built on top of (no, toast notifications don't count), and it must be built out as a prerequisite.
Task Breakdown
Daphne
)django-channels
comments
into saved insight modelLink Sharing
Tomorrow's link sharing experience is composed of two tightly coupled features: Permalink with integrations + a new Centralized Link Management page.
Task Breakdown
Scope
This document proposes two solutions that solve two very specific problems. Insight discussions makes it easy to share insights with context. Managed link sharing makes it easy to create, share, and manage public and private links. Both make PostHog a more collaborative platform where conversations and cross linking can happen.
The following are considered out-of-scope. Some of these may be revisited in subsequent iterations of collaborations work.
Key Performance Indicator
Basic Sharing Events
link generated
- tracks every time shareable link is created. Each link is given it's own idlink with referrer
- tracks every time link is visited by clicking the shared linkreferrer_url
in event_Engagement + Insight Discovery__
insight views
- This category's harder to measure because adding insight metadata won't trigger a new user behavior/state change that can be measured tangibly. I think a soft metric on this would be the observing how the number of views each saved insight changes after the feature is deployed, but open to suggestions.clicked recommended insight
- tracks user clicking recommended insights. boom, insight discovereduniversal search opened/searched
- tracks universal search usage with anonymized query parametersTaxonomy Events
event/property tags CRUD
- tracks tag usageevents deprecated/verified
- tracks event versioningmalformed event detection
- tracking at the event ingestion level when bad events are handled (This might already be done but would have to double check)Annotations Events
annotations CRUD v2
- tracks new implementation of annotationsOnboarding Events
meta-metrics viewed
- tracks times that the meta metrics pages are viewedScaling Considerations
Section is WIP
One thing that comes to mind with scaling is the extra burden that socket connections from real time chats will have on the server.