Design principles for Write.as. Includes UI, UX, architecture, etc.
## General principles
A few general principles guide all decisions while building Write.as.
### Simplicity
Interfaces, both user- and application-facing, should be as simple as possible.
### Specialization
The goal is not doing as many things as possible, but doing one thing well -- whatever that thing may be.
### Backwards compatibility
Software evolves; but users will always depend on certain functions remaining the same. Users shouldn't need to drastically update their workflow to accommodate new changes; rather, Write.as should accommodate existing and new users, providing simple mechanisms for existing users to "opt-in" to new leaps in functionality.
For example, Write.as started as a [telnet](http://nerds.write.as) app. While undoubtedly less used now, it is still available (run `telnet nerds.write.as`). But there are new ways to use Write.as in more modern means through the Android, iOS, and [other](https://write.as/apps) apps.
//Obligatory CYA clause:// These are principles we hope can stay the same throughout the life of Write.as, but of course, may not. Please don't break out the pitchforks (but let us know how it affected you!) if we break some of them.