I've been thinking about this a lot, both due to the inherent conceptual complexity of a web framework I've been working with and the difficulty trying to explain it. The other thing that's been bouncing around is trying to figure out a really complex web UI if you're a backend java person.
Real world problems are hard. Really really hard. A commercial webapp that needs to actually scale to thousands of users and cluster, that has hundreds of pages and probably 50-100 tables is a beast. Super complex. Not necessarily in any part, but as a whole, it's a freakin' monster. When you try and build a framework that can be a platform for such a thing, you're up against a very big, very tall cliff. There's almost this tradeoff: by the time you get your framework complete enough to actually work for the app, it's going to be so complex in its details and behavior that it won't be understandable without a huge amount of ramp up time. There's a lot to be said for good theoretical backing, orthogonality, good general design, etc, but that won't make things necessarily crystal clear. I know that ultimately, if its a good design, it will have that clarity, but I am wondering if anyone is smart enough to do it, or if its just going to take a lot more time and a lot more baby steps before we can get there.
The other half of this is complex user interfaces. I'm currently working with a UI where developers have implemented extremely clever JavaScript, which, when it explodes, blows the minds of everyone expect perhaps 1 or 2 people. Such a thing is really not workable, as the long term maintenance is not going to be either cheap or possible, depending on your perspective.
I'm starting to wonder if the only thing that actually works is really, really dumb code. Not necessarily bad, but forgoing a lot of things like complex user interfaces, skinnability (micrositing), massive performance throughput, etc, in order to just get something that a normal human can understand and maintain. It's depressing that microsoft access is looking like a good answer for business applications.
Other useful blogs I like to read:
misbehaving
boingboing
k5
/dev/null
crazy bob
igor's lampost
vanity foul
James Strachan's Radio Weblog
Otaku