I am really glad I went with a boring/KISS principle when it came to my website (almaer.com). At one point I was going to use a cool CMS system, or write some fun server-side stuff, but in the end I went with a simple solution.
I spent a couple of hours to tweak an XSL project that would generate my look and feel from simple XML documents that represent the content on the site. From this XML I could autogenerate the drop down lists in the menus, headers, as well as the full pages.
To update the site I tweak the XML, run a script and push it live. This turned out to be a good choice, as I recently had to change hosting provider, and went from one where I had a shell/root/could do whatever I wanted, to one that is more restricting. This simple solution enabled me to be up and running with no downtime, and I didn’t have to fight with the hosting provider to make them install a Java Servlet/JSP enabled container, or even PHP.
It may be ugly…. but it works, and it is built with the end user in mind. Not only do I not need to go through some web UI to make changes, I don’t want to. Give me some files in which I can tweak and I am a happy camper. It isn’t ideal if I want my wife to add content, but that isn’t a problem ;)
I think this is where Naked Objects kicks in. It isn’t the ideal UI for the layman, but can be great for a “power user”.