The purpose of this document is to help people willing to understand the internals of MlView. We tried to write down the general design principles of the project because we think that grasping the big picture helps to understand the code. Another important thing to notice is that this document has been authored in docbook using MlView itself. It is therefore a nice playground to find and address bugs and usability issues of the editor.