Welcome to the Matrix. Matrix is an open protocol for decentralised communication. Matrix allows users on different servers to communicate with each other, similar to how people on different email servers can email each other.
This book is an introduction to creating a client using the Matrix Client-Server API. It will show how to make HTTP calls to a Matrix homeserver, and discuss issues that clients will need to consider, such as reliability and security issues. It does not attempt to be a comprehensive guide to the entire Client-Server API, but will point you to the relevant portions of spec for further details.
If you are creating a Matrix client using a library/SDK, some of the information in this book may still be useful, but some things will already be handled by your library/SDK.
This book is written in a literate programming style, which interleaves code blocks and text. In short, code blocks are named, and can reference other code blocks using the syntax {{other code block name}}, which will insert the code blocks with the given name in place of the reference. Multiple code blocks can have the same name, in which case they are inserted in the order that they appear in the book (though in many cases, the order does not matter). This allows us to, for example, have a reference such as {{class Foo methods}}, and define the methods of the Foo class in multiple chunks.