Although similar to this question about mobile app development, I would like to know how I should go about the development of web applications that make use of Bitcoin. It can be assumed that all the standard recommendations mentioned in this famous question will have been noted and implemented where applicable.
This question is about Bitcoin specific design requirements that experienced developers would like to hand down to those just starting out.
Edit to clarify further
I'm looking for design requirements that a web application using the Bitcoin protocol in some way would be advised to apply before releasing their code to the public. For example
- additional security arrangements (offline elements? manual interventions?)
- network connectivity concerns (what is an appropriate uptime expectation? does Bitcoin introduce greater bandwidth consumption than standard web technologies?)
- recommended deployment configurations (distributed via EC2+EBS+S3? personally managed servers? and so on)
- data privacy concerns (Know Your Customer?)
There have been many issues with Bitcoin web applications suffering from design issues that should have been avoided. Hopefully, the answers to this question will help other developers working on these projects to not repeat them.