Unindent list in specification to remove blockquote
parent
4081413876
commit
7c4ce957c7
|
@ -30,48 +30,52 @@ ecosystem to communicate with one another.
|
||||||
|
|
||||||
The principles that Matrix attempts to follow are:
|
The principles that Matrix attempts to follow are:
|
||||||
|
|
||||||
- Pragmatic Web-friendly APIs (i.e. JSON over REST)
|
- Pragmatic Web-friendly APIs (i.e. JSON over REST)
|
||||||
- Keep It Simple & Stupid
|
- Keep It Simple & Stupid
|
||||||
|
|
||||||
+ provide a simple architecture with minimal third-party dependencies.
|
+ provide a simple architecture with minimal third-party dependencies.
|
||||||
|
|
||||||
- Fully open:
|
- Fully open:
|
||||||
|
|
||||||
+ Fully open federation - anyone should be able to participate in the global Matrix network
|
+ Fully open federation - anyone should be able to participate in the global
|
||||||
+ Fully open standard - publicly documented standard with no IP or patent licensing encumbrances
|
Matrix network
|
||||||
+ Fully open source reference implementation - liberally-licensed example implementations with no
|
+ Fully open standard - publicly documented standard with no IP or patent
|
||||||
IP or patent licensing encumbrances
|
licensing encumbrances
|
||||||
|
+ Fully open source reference implementation - liberally-licensed example
|
||||||
|
implementations with no IP or patent licensing encumbrances
|
||||||
|
|
||||||
- Empowering the end-user
|
- Empowering the end-user
|
||||||
|
|
||||||
+ The user should be able to choose the server and clients they use
|
+ The user should be able to choose the server and clients they use
|
||||||
+ The user should be control how private their communication is
|
+ The user should be control how private their communication is
|
||||||
+ The user should know precisely where their data is stored
|
+ The user should know precisely where their data is stored
|
||||||
|
|
||||||
- Fully decentralised - no single points of control over conversations or the network as a whole
|
- Fully decentralised - no single points of control over conversations or the
|
||||||
- Learning from history to avoid repeating it
|
network as a whole
|
||||||
|
- Learning from history to avoid repeating it
|
||||||
|
|
||||||
+ Trying to take the best aspects of XMPP, SIP, IRC, SMTP, IMAP and NNTP whilst trying to avoid their failings
|
+ Trying to take the best aspects of XMPP, SIP, IRC, SMTP, IMAP and NNTP
|
||||||
|
whilst trying to avoid their failings
|
||||||
|
|
||||||
The functionality that Matrix provides includes:
|
The functionality that Matrix provides includes:
|
||||||
|
|
||||||
- Creation and management of fully distributed chat rooms with no
|
- Creation and management of fully distributed chat rooms with no
|
||||||
single points of control or failure
|
single points of control or failure
|
||||||
- Eventually-consistent cryptographically secure synchronisation of room
|
- Eventually-consistent cryptographically secure synchronisation of room
|
||||||
state across a global open network of federated servers and services
|
state across a global open network of federated servers and services
|
||||||
- Sending and receiving extensible messages in a room with (optional)
|
- Sending and receiving extensible messages in a room with (optional)
|
||||||
end-to-end encryption
|
end-to-end encryption
|
||||||
- Extensible user management (inviting, joining, leaving, kicking, banning)
|
- Extensible user management (inviting, joining, leaving, kicking, banning)
|
||||||
mediated by a power-level based user privilege system.
|
mediated by a power-level based user privilege system.
|
||||||
- Extensible room state management (room naming, aliasing, topics, bans)
|
- Extensible room state management (room naming, aliasing, topics, bans)
|
||||||
- Extensible user profile management (avatars, displaynames, etc)
|
- Extensible user profile management (avatars, displaynames, etc)
|
||||||
- Managing user accounts (registration, login, logout)
|
- Managing user accounts (registration, login, logout)
|
||||||
- Use of 3rd Party IDs (3PIDs) such as email addresses, phone numbers,
|
- Use of 3rd Party IDs (3PIDs) such as email addresses, phone numbers,
|
||||||
Facebook accounts to authenticate, identify and discover users on Matrix.
|
Facebook accounts to authenticate, identify and discover users on Matrix.
|
||||||
- Trusted federation of Identity servers for:
|
- Trusted federation of Identity servers for:
|
||||||
|
|
||||||
+ Publishing user public keys for PKI
|
+ Publishing user public keys for PKI
|
||||||
+ Mapping of 3PIDs to Matrix IDs
|
+ Mapping of 3PIDs to Matrix IDs
|
||||||
|
|
||||||
The end goal of Matrix is to be a ubiquitous messaging layer for synchronising
|
The end goal of Matrix is to be a ubiquitous messaging layer for synchronising
|
||||||
arbitrary data between sets of people, devices and services - be that for instant
|
arbitrary data between sets of people, devices and services - be that for instant
|
||||||
|
|
Loading…
Reference in New Issue