Simple solutions

Simple solutions

We build simple solutions to complex problems. We drop the bells and whistles and focus on what is really important.

Our solutions are based on 5 key principles of design.

Simplicity: the solution must be simple, both in implementation and interface. It is more important for the implementation to be simple than the interface. Simplicity is the most important consideration in our solutions.

Correctness: the solution must be correct in all observable aspects. It is slightly better to be simple than correct.

Consistency: the solution must not be overly inconsistent. Consistency can be sacrificed for simplicity in some cases, but it is better to drop those parts of the solution that deal with less common circumstances than to introduce either implementational complexity or inconsistency.

Completeness: the solution must cover as many important situations as is practical. All reasonably expected cases should be covered. Completeness can be sacrificed in favor of any other quality. In fact, completeness must sacrificed whenever implementation simplicity is jeopardized. Consistency can be sacrificed to achieve completeness if simplicity is retained; especially worthless is consistency of interface.

Reusable: as much as possible, the solution should maximise reuse.

Powered by Zingiri, PHPlist, osTicket