I just recently started with web2py, and found that it is a pretty big elephant that is hard to eat a bite (byte?) at a time, precisely because everything's included.
Even a simple app gets and incredible amount of scaffolding. I routinely delete the languages directory, as I don't need the clutter during development. I am starting to appreciate all the help the scaffolding supplies, like the development links the layout provides during development, but I found it confusing during learning. Perhaps there should be a "minimalist" app, with an empty model, one "default" controller, and one "default/index.html" view. or if someone is ambitious, a "new project" start page with checkboxes of the components to include or remove from the scaffolding. Such as: . appadmin . jQuery . ajax . SQL database . default views . crud . mail . layout.html . css pages . languages . cache . cron Obviously, the inclusion of some require the inclusion of others. After all, you can have a minimum hello world (as in the tutorial) with only one file: someapp/controllers/default.py containing only def index(): return "Hello World!" Or perhaps a more usable minimum (with helpers) would be: def index(): return HTML(H1('Site currently under construction. Come back soon!')) The Web2Py Framework is Extreme Awesomeness But my brain hurts if I have to deal with too much of its beauty at once. (What started as just a +1 for reduced scaffoldings has gone on too long already....)