Use cases, requirements

I think the next broader meeting should be use cases, and other than that I will host some tech talks about specific approaches (e.g. Peergos, Nick’s partially private hydration, Rudy’s gated approach).

That way we get recordings of individual people and code at a fairly technical level, and then come together for synchronous calls when we can do group exercises. My idea for use case gathering isn’t fully baked yet, but maybe something along the lines of a clustering exercise / sticky notes as well as talking through use cases.

I encourage everyone to start a dedicated thread with their product, links to code, and use cases. e.g. @verdverm.com’s write up for Blebbit Use Cases → with links to code.

Using Blebbit as an example, this is some useful anchoring:

will initially resemble Discord, so all the use-cases therein for private data. Long-term the use-cases from giving users and communities the options to craft their own take on the blend of Discord, Reddit, FB Groups

It doesn’t specifically call out the requirements, but all of those apps used as reference are “classic web2 apps” → so my assumption is that access control protection, data is visible to the PDS, metadata isn’t visible in public (not quite sure on that one, and we’ll have to define metadata).

I think this bucket of ennumerated requirements, including the hard requirement that some have for “data not visible to the PDS operator”, would be interesting if we had a handful of people who talked about their approaches and goals.

2 Likes

This is great framing Boris! Mixing thinking, talking, and building

This is likely a step or two down the line… I think it would be useful to capture the use cases as code (UCC)

  1. Mapping the use cases into scenarios or test cases for implementations
  2. Having this experimentation / testing framework live outside of ATProto (like how my spicedb work is not tied to the PDS, I can extract it easily). This lowers the complexity and barriers to getting started
  3. Having a dedicated repository for holding the UCC. We can share / reuse use case and the framework(s)

From my own experience, I was only able to work through the details of the permission schema as I built out more use cases. Being able to do this without ATProto / PDS code, at this point, has been invaluable. That being said, I expect that we will need a testing setup that runs against actual network, because there are DX considerations that will only be uncovered there (esp the Dual Write problem)

2 Likes