I'm a mild advocate of the "anti-CMS" paradigm.<p>Too often I see websites where it is obvious that certain design decisions were made in order to make things easier to handle in CMS of choice.<p>In my experience most clients don't really have a need to make sweeping changes to their website on their own and learning to use a CMS like wordpress or drupal correctly is a burden on them.<p>I find it is easier (and sometimes quicker) to create an "admin area" that is framed around metaphors the client already understands.<p>For example , if your client sells "tasty bagels" they probably want a page about their heritage and great grandpa's magic bagel recipe from 1890. This will probably never change, so it can be a static HTML file. This means that you can go nuts using precise HTML to get a really great visual layout for the page without worrying about the client butchering it in some horrible js WYSIWYG editor.<p>What they probably do want to edit/update frequently is information on their selection of bagels. Here you can simply create some basic forms with names like "add a tasty bagel" and some very specific fields (for example: suitable for vegans [x]). Writing this code is generally very straightforward if you have a decent ORM. I once turned around a complete website in under 4 hours using nothing but scaffold controllers, some stock art and an off the shelf template.<p>I generally find that using this approach , clients are a lot more engaged with their website and actually update it more than if you simply throw wordpress and a bunch of plugins at them. Since they will inevitably forget how to use it or break something and then call you up to make tiny changes.
Please check out our startup StorageRoom (<a href="http://storageroomapp.com" rel="nofollow">http://storageroomapp.com</a>) as a content backend for these kind of apps.<p>A lot more features are to come!