element-hq / element-hq/element-meta

Track subspace usage

Open
#208 3 comments 0 reactions 0 assignees View on GitHub
A-Spaces A-Telemetry
Dominant language
No language data
Stars
112
Forks
25
Avg merge
6h 6m
Merged PRs (30d)
4

Description

We currently track the number of spaces a user is in via a [user property](https://github.com/matrix-org/matrix-analytics-events/blame/0101e4fd25ded5fb2cba8a9119cb061e36296369/schemas/UserProperties.json#L15).

We'd like to extend this to track the number of subspaces a user is in. We're interested in this to determine whether our users are finding subspaces useful and how well to support them in future.

For a space A to be considered a subspace either of the following can be true, from [here](https://github.com/matrix-org/matrix-spec-proposals/blob/old_master/proposals/1772-groups-as-rooms.md#relationship-between-rooms-and-spaces)

* The space room A contains `m.space.parent` pointing to some parent space room B
* Another space room B contains `m.space.child` pointing to this space room A. Note that the user won't have visibility of this unless they have joined space room B.

Add as user properties:

`numSubSpaces` - the number of spaces that are subspaces the user is currently in.

`numRoomsSpaceDepth0` - the number of rooms the user is in that are the immediate children of a space the user is in, and the space is not a subspace (i.e. has no known parent spaces)
`numRoomsSpaceDepth1` - as above, but where the space is a subspace (has at least one known parent space) with depth 1
`numRoomsSpaceDepth2` - as above, but with depth 2
`numRoomsSpaceDepth3orGreater` - as above, with depth 3 or greater

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the linked UserProperties.json definition and trace the existing user property that counts spaces. Determine where user membership and space relationships are collected, then verify the four requested room-depth properties and numSubSpaces against the stated parent/child rules; done means all five properties are exposed with the requested meanings.

Written by the indexing model from the issue text.

Assessment

Domain
analytics
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.