Every piece of software needs some amount of interface, content, and service design. This is no different in decentralization. What is different, however, is that decentralization introduces concepts and scenarios that are diverging from today’s dominant, centralized paradigms. These design patterns are generalizable to protocols, applications, and the user interfaces of decentralized applications.
See something missing? Please propose a new pattern.
Identity & AgencySee all Identity & Agency
In a centralized application, the concept of “who am I” is coordinated by a single authoritative database. In decentralized applications, by contrast, user “accounts” may not exist, or they might get verified in a variety of ways. The patterns in this category help bring clarity to users dealing with questions of how to best manage their own online identity and credentials as well as those of other people.
Moderation & CurationSee all Moderation & Curation
Information overload, spam, and abuse can be serious problems for decentralized applications that allow strangers to interact with each other directly. The patterns in this category therefore deal primarily with applications where content and users are publicly discoverable. By integrating the patterns, applications will be more useful to a wider set of communities, and will help keep vulnerable people safer from online abuse.
Sharing & PermissionsSee all Sharing & Permissions
Most decentralized applications share everything publicly by default. This default assumption, however, can risk limiting use cases as well as user trust in the application (thereby also reducing adoption). The patterns in this category help build trust with the application by providing methods for users to decide who sees what, and when.
Sync & StatusSee all Sync & Status
Decentralized applications aren’t always connected to a single server that is the source of truth for all information. This can lead to hard problems around resolving data conflicts, finding peers, and deciding on common standards. The patterns in this category help users understand where data is available, how it is synced across devices, and whether it is discoverable.