Skip to content

Design Principles

Jacob Cook edited this page Apr 27, 2017 · 1 revision

The design principles of Sylow can be summed up as the following:

  1. Simplicity over complexity. Whether it's in its API design, protocol design or code implementation, Sylow's value comes from being a powerful tool implemented in a simple way.
  2. Minimalism over maximalism. Sylow isn't intended to foresee every possible eventuality or use-case, but it should only respond to those that are essential for fulfilling it's core mission. To this end, the design of the protocol should not dictate the development of the application, rather it's the development of the application that should drive the expansion of the protocol.
  3. Practicality over idealism. This is not to mean that we don't strive for the perfect, but we don't let it impede the progress of the good. Development of a feature should not be deterred simply because one of its components cannot be held to the absolute highest standards.

Put simply, Sylow is intended to provide a basic framework for formatting, storing and exchanging content. Beyond that, it should provide individual users the tools to create a much more robust system on top of that, but should not enforce any standards that are not absolutely necessary for the proper performance of the system.

Clone this wiki locally