I am trying to build an application in which web annotation plays a significant role. I have read online about research prototypes: Annotea, WebAnn, Marginalia, Yawas etc. as well as the commercial successes: diigo, imarkup etc. and failures: ThirdVoice etc. Unfortunately very few of the articles provided practical "How To" info on building your own client/server browser extension annotation system.

I needed help on what technical architecture or components go into making a simple shared web annotation system which is a browser extension or plug-in. So for example if I wanted to build an application such as ThirdVoice (without its security holes) what would I need?