As far as the docs go, the simple answer that I can provide, is that they are written in a way that assumes that you know knowledge of how an MVC/MVVM works and how CanJs fits into that pattern. The documentation does not explain the patterns, and how you should combine each CanJs package to achieve a certain goal. A tutorial is needed that simply ties in the M, the V, and the C, with CanJS . Someone new coming into CanJs as their first framework, has no real knowledge of how to use a DefineMap inside a Component and link DefineMap with a model, and that all three will generate a view using stache. Also simple things like how a route can manipulate a view through the model while using a Component. How components should be children of one another and how pass data to one another. I feel like the big simple picture is missed out, because the CanJs developers have most of this as instinct. It is easy for them to look at the Define or Control or any piece of the documentation and know how it fits into the whole schema. A simple fix may be that the documentation should show a small scale examples of combinations of packages to show interaction and explain certain patterns. This little JsBin
http://jsbin.com/zogigubahi/1/edit?html,js,output can explain how a Component uses a DefineMap as the viewModel, and how that DefineMap listens to setters and executes a function on change/set as well as ties in the can-stache-converters to update the DefineMap from the view.