Skip to content
This repository was archived by the owner on May 12, 2021. It is now read-only.

Commit 07fb677

Browse files
authored
Merge pull request #1151 from ssbc/create-design-principles
Create the Patchwork Design Principles
2 parents 7df64e8 + 289291b commit 07fb677

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed

docs/DESIGN.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# Patchwork's Design Principles
2+
3+
This document describes the design goals and philosophy of Patchwork. Features of and changes to Patchwork should always aim to follow these principles. If we really want to add a feature/make a change to Patchwork that goes against these principles, we should think about changing the principles first, rather than ignoring them and making the change anyway.
4+
5+
This document should be version tracked, and any change to it should go through the [advice process](http://www.reinventingorganizationswiki.com/Decision_Making) with the stakeholders listed below.
6+
7+
### Stakeholders
8+
* Patchwork contributors
9+
* Patchwork users
10+
* The broader Scuttlebutt community
11+
* People outside the Scuttlebutt community who might be affected
12+
13+
## Design goals
14+
15+
### Goals and scope: Patchwork should...
16+
* Follow the [Scuttlebutt principles](https://www.scuttlebutt.nz/principles/)
17+
* Be a client that people can feel confident recommending to their friends who aren't using Scuttlebutt, and who might not have much tech knowledge
18+
* Be safe (privacy, blocking, etc)
19+
* Be usable (not confusing or broken; clear explanations of new concepts)
20+
* Be healthy (non-addictive, calm, consentful)
21+
* Be accessible (to the extent practical -- some a11y features are hard to retrofit into the existing code)
22+
* Be a fun client to use -- users should enjoy using it and, in a positive way, be tempted to try other Scuttlebutt clients
23+
* Look good
24+
25+
### Non-goals: Patchwork is not...
26+
* A place where we experiment with new features - Try it in other clients first
27+
* For message types outside the core social networking use case. Messages such as posts, comments, gatherings, and blogs are in scope; messages such as chess and git-ssb are out of scope.
28+
29+
30+
### Roadmap
31+
* Eventually retire Patchwork 3, potentially transferring the Patchwork name to another client, which might become Patchwork 4
32+
* Maintain functionality until Patchwork 3 is retired. Focus more on maintenance than new features.
33+
* Potentialy remove less-used features if we don't have energy to maintain them
34+
* While accepting that Patchwork 3 is a legacy codebase, try to keep it easy to maintain, and help out (potential) new contributors

0 commit comments

Comments
 (0)