DWebCamp and Decentralized Community Pattern Lanuage

Several of us from Spritely Institute (@cwebber @dthompson and myself) will be attending DWebCamp June 21-25. We’d like to tap the audience there on several topics.

I was thinking of leading a session on the topic of creating the Decentralized Community Pattern Language. Do you have any thoughts?

Should it be a workshop or panel discussion?
If you are attending, any thoughts about collaborating on either the prep or the day-of session?

The submission deadline is MONDAY 5/8, so if you have any thoughts, please share them ASAP.


1 Like

I think a workshop might be best. It would be like a community gathering already with opportunity for active engagement and interaction of those attenting. And it would work to figure out input for the pattern language, collect feedback, brainstorm together, and encourage people to be early contributors.

It might be a combined panel discussion + workship, depending how much time there is. The panel discussion would only be very brief, to give an intro and then gauge which topic(s) have the most interest with the audience. Those could serve for the 2nd workshop round.

1 Like

Submitted a 1 hour workshop proposal for DWebCamp. We’ll see if they’re up for it.

Hi Randy - my team at new_public was a little slow to get our act together, but a couple of us are officially going to DWeb and I’d be down to collaborate with you on this! Agree with @aschrijver that something more workshop-y is probably the right vibe vs. a full panel discussion.

One thing on my mind: before even getting into any specific patterns, I’d love to really understand from product builders more about their general design process & what tools/resources they turn to today (and what’s good vs. not so good about them; e.g. do people use Patterns | Decentralization Off The Shelf ? other things?) in order to give us more guidance around what format(s) / ultimate outputs would be most useful for the field!

I know this original post was from a few weeks ago - lmk what you’re thinking re: next steps if you’re still excited about this

1 Like

I’d love to hear/read other folks thoughts here (before DWebCamp…) on what @sam asked…

We have some new folks who haven’t posted about themselves yet - @pancy @robbystk @sticky @banna @wighawag @j12i

1 Like

This isn’t precisely an answer to Sam’s questions. It’s based in theory rather than experience. Thanks for sharing that list of ‘off-the-shelf’ decentralization patterns. I hadn’t seen it before and it seems really useful. I’ve been reading Spritely’s documentation and trying to understand ocaps off and on for the last several weeks. I think Spritely has the biggest potential for impact in the areas of safety, consent, and moderation. I believe Matrix has correctly identified moderation as the most important problem for any social system. I think ocaps are particularly well-suited to these problems and I’ve been thinking about ways to allow users to control the interactions they have with others via ocaps.

There are several existing strategies for moderating interactions. The most basic is single-user level controls. Typically a user opts in to another’s posts by following or subscribing, and requiring approval of follow requests allows control of who can see one’s posts. There is also blocking and muting to prevent interactions, but usually at a single-user level which doesn’t scale well. Boosts can cause a feed to grow beyond the list of subscribed-to users, and posts can always be copied and shared beyond one’s approved followers. The social radius slider pattern is a coarser control, but is meant to be temporary. Blocking an entire instance is another coarse control that may catch good users as well as bad, but may be the only option for a user facing an onslaught of abuse. I see a need for intermediate-level controls that are fine enough to avoid punishing good actors for the actions of the bad, but also require minimal intervention by the user that they serve.

There are social systems that people graft on top of software protocols. Sharing and subscribing to blocklists and the #fediblock tag are examples of this. Building these or capabilities like them into the protocol itself for seamless integration and automatic action seems like it would be helpful for the granularity and scalability problems mentioned above. I believe Matrix has done something like this but I’m not familiar with it or its capabilities.

Curating one’s list of followers is somewhat analogous to user sign up. Sign ups can be completely open, or require manual review and approval. Requiring an invitation from an existing user falls between these extremes. Lobsters uses an interesting variant of this where invited users are stored with a reference to the user that invited them, forming an invitation tree. If a user is found to be inviting bad actors, their ability to invite others can be cut off, and everyone who was invited by them or by someone they invited (etc.) can be removed or limited all at once.

There are surely other possibilities that I’m not aware of as well. Given the various possible strategies, I recently had the idea of allowing a user to choose between these various methods of approving users. On one extreme you have no restrictions, on the other you have individual approval. In between you maybe have a tree system where approved users can invite other users and so on, and any subtree can be restricted at any time. Another possibility is something like a web-of-trust where if a sufficient number of approved users mark another as trusted, then that user is allowed to send posts to the user or view posts by the user. If a user has low standards of trust, then their mark of trust doesn’t get as much weight. Implementing this in a way that’s intuitive, usable, and useful seems like quite a challenge.

I think cataloging these (and other) moderation and user control strategies would be useful but is maybe not what you had in mind. At a lower level, a useful thing to me would be a catalog of various examples of controlling access to an ocap. For example, enforcing exclusive but transferable access as in From Capabilities To Financial Instruments, audited access, an access tree as described above, and any other examples or ocap patterns.

1 Like

I just got word that the proposal was accepted!

Time to get to work prepping… Is anyone going to DWebCamp that wants to help in advance or during the event. I’m not the greatest facilitator, and could definitely use the help of anyone who’s lead an effort like this before.

@frandallfarmer great! and yes, let’s collab! we can take this to email maybe but want to find some time tomorrow (thurs) or friday to chat?

For those attending, the workshop will be co-hosted by @sam and I at 9:30 Friday morning.

Hello all, I just joined this forum at @frandallfarmer 's invitation to discuss a pattern language. I’m wondering, is this conversation happening elsewhere, or is it continuing in this thread for now?

I’m hoping to reach out to the decentpatterns.xyz folks to see if they’d like to be involved in some way. I’m connected with three of the four authors. It’s such a great project, the child of a lot of research – would love to see it become more ‘live’.

There seemed to be a lot of interest in patterns at DWeb Camp. I went to a discussion on Christopher Alexander’s The Timeless Way of Building, and the facilitator sounded quite interested in getting involved in your effort, and my colleague and I from Holochain also want to contribute – we’re writing a paper on thinking through the consequences of design decisions, and what I really want to see is a place for people to be able to share results as they test and implement patterns in the wild. The DWeb community sometimes has a reputation for being rather abstract and dreamy (nobody more guilty than us at Holochain), and the sense I got at camp was that it’s time to ground what we’re all doing. It was encouraging yet sobering to hear that there are people who desperately need digital tools to help them, and they’re waiting for these tools to become a little bit more real.

Follow-up: I found the https://community.spritely.institute/g/DC-Pattern-Language thread too.

Follow-up #2: Hi @sam ! I met you in the basement of the Archive on Tuesday.

Update: I’m talking with fellow participants at DWeb Camp, and there seems to be quite a lot of energy (including from the original creators of decentpatterns.xyz) to work on a pattern language – or rather, a constellation of pattern languages (e.g., one for social patterns, one for UI/UX patterns, one for technical patterns, etc). There’s also the existing material to consider; e.g., all metagov’s hard work on governance patterns (can’t find link right now).

So I’m wondering how we can get all this energy together in one room. Eileen Wagner suggests that we all convene in a video call; I’m leaving for holiday until the 20th, so she was suggesting we meet when I get back.


  1. Does this sound like a good next step?
  2. If so, what’s the availability of all interested parties after the 20th?

That sounds great to me! It would be good to help categorize the efforts underway and to cross refer/pollinate where it makes sense.

Once we know what groups will attend the call, sharing links to everyone would allow us to read-ahead.


Awesome! I seem to be the liaison between the group on Discord and the group here; I’m going away for a couple weeks though (back on July 19th, but probably won’t start work until the 21st). Can I give them your email address so they can keep in touch with you re: scheduling?

Please feel free to share me email with anyone you think is appropriate.

Shared with the group, and I’ve also started the whole ‘what time should we do a call’ process. I’m available from the 21st onward, 08:00 to 15:00 Pacific, on weekdays except Wednesdays. What’s your schedule like? (Note: this’ll be the last time I’ll have access to a computer before the 20th, so it may take a while for me to respond.)

Thanks to Adit from New Public for transcribing the sticky-notes from the first DWeb Camp session…

This work was brainstorming - the category sections were just initial prompts, not intended as prescriptive design.

  • Participation & Connection
    • Creating and sustaining rituals
    • Listen first and then speak
    • 1:1 relationistic weaving
    • rules of conduct
    • consequences
    • relationship belong to the parties
    • earned trust
    • feedback
    • volunteer work with community
    • place based (geographic context)
    • context is king
    • information relevance (relevant content, people)
    • breakout groups
    • multi-generational
    • trust is not assumed
    • consensus building
    • broadcasting communication
    • giving status updates
    • gradients of intimacy
    • low pressure interactions
    • connecting communication, having meetups and working groups
    • Dunbar’s number online
    • evolutionary community cycles
    • norm setting
    • more people aware and with understanding of the topics at hand
    • responsibility of those with knowledge power

  • Ownership and Governance
    • collective ownership
    • healthy co-leadership models
    • permanence
    • self-hosted, self-owned
    • agreed value exchange
    • 3rd party tools
    • easy delegation of power
    • space stewardship
    • benevolent dictatorship
    • democracy
    • apps as agents (agency)
    • you own your data and have deletion rights
    • checks and balances
    • community governance
    • deep respect for the maintainers and holders of wisdom
    • moderator and leader succession
    • consent based decision making
    • trust

  • Safety Fairness and Justice
    • helping people learn through correction
    • community judgement processes
    • transparent communication of rules
    • flagging the roles
    • restorative justice
    • plural tech (choice of algorithms)
    • Actual humans
    • Give people a chance, don’t just suspend accounts, take the time
    • a log of decision and reasoning
    • assume best intentions
    • collaboratively setting rules and guidelines
    • graduated responsibilities
    • pluralistic
    • screening people coming in

  • Welcoming new people
    • Upfront expectation setting
    • rituals
    • a tiny initial bump, like a small fee
    • level setting
    • zero sign up friction
    • a guided tour
    • microsolidarity (pods, crews, weavers, small groups of people brought together to support early on)
    • tone expectations
    • no automatic newbie herding
    • newbies channel - newness is welcome
    • vouching
    • builders test the initial process
    • clear purpose values and agreements
    • Pattern setting instead of penalties
    • clear purpose, values and agreements
    • a responsible buddy on introduction
    • host-based

Before the brainstorm above, we set some context by listing some “anti-patterns” - problems with social media - many of which were invented by social media. We are not setting about to “fix” those problems, but review what healthy communities were before this mess…

  • Online Communit Anti-patterns (mostly from Social Media)
    . Context Collapse
    . Doom Scroll
    . Engagement/Consumption [ == Revenue] is Anti-Quality
    . Follows/Likes
    . [There is no] Universal Moderation
    . Everything is Public [Serach Driven Value]
    . No Responsibility
    . Low/No Friction
    . Merchant as Soverign
    . Leadership Devalued
    . Weak Relationships
    . Stewarding seen as Janitorial
    . Vendor Lock-In
    . Renting Space [No real permanence]
    . Big Tech as Gatekeeper
    . Transactionalization and Focus on Data [not People]
    . Centralized Governance

This sounds rich and juicy. Thanks for mapping out what was discussed and identified @frandallfarmer .

I kinda dropped the ball on being the liaison between the people talking here and the people talking on the DWeb Discord. Apparently there was a kickoff meeting to discuss a shared effort yesterday, whoops. I’ll try my best to be a more reliable liaison for future meetings! In the meantime, it seems like the group (consisting of Eileen from Decent Patterns, @sam , Mix Irving from Scuttlebutt / DWeb Labs, and a bunch of other folks who expressed interest) wants to keep the conversation on Discord. Next steps:

  • Settle on knowledge-management systems – someone mentioned that Spritely has something that might work great
  • Figure out protocols for contribution
  • Poll those of us who couldn’t attend for feedback – meeting notes here; doc expires in 60 days; Obsidian-friendly Markdown version on Dropbox
  • Scope what we’re working on to avoid scope creep – sounds like they want to focus on the UX of decentralised apps as it manifests at both the protocol and the UI layers, and your focus on communities suggests that multiple complementary, tightly scoped pattern languages might be what we end up with
  • Optionally do some reading from the reading list they gathered together

@sam since you were at the meeting and have more context, I’d love to hear your reflections.

1 Like

UI design for decentralized apps is a great effort - but as you suspect, that’s not where the Institute’s focusing.

This effort is more foundational (or abstract?) as there are no UI patterns likely as output, but descriptions of elements that make up healthy communities that “happen to” have a portion of their group toolset enabled by computer networks…

Plenty of room, I think, to have these efforts advise each other, but without crosstalk/interference.

I’m also interested in @sam’s take…