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, user “accounts” may not exist, or they might get verified in a variety of ways. These patterns bring clarity to users for 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 a serious problem if a decentralized application allows strangers to interact with each other directly. These patterns deal primarily with applications where content and users are publicly discoverable. By integrating these 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
Typically, decentralized applications share everything publicly by default. However, this assumption limits use cases as well as user trust in the application, reducing adoption. These patterns 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. These patterns help users understand where data is available, how it is synced across devices, and whether it is discoverable.