First, let's consider how things were before we had compulsory web applications, when I was free to bang out little applications in my environment of choice: Delphi/Win32. The programming model looked something like this:
Diagram describing delightful simplicity of Delphi Win32 program
As you can see, things are fairly straightforward. The UI construction is confined in one place; everything can be done - editing, compiling, debugging and testing - using a single tool. The user gets a responsive and sophisticated interface to his new application. Verily this is Rapid Application Development as it should be.
Now let's see what happens when we upgrade this to a Web 1.0 experience.
Block diagram showing Web 1.0 program architecture
The programming side of things remains more or less under control, although the tools available to do it are less satisfactory. However, at least the interface generation is straightforward. The user experience has become rubbish, however.
Finally, the Web 2.0 situation:
Architecture diagram illustrating the confusion inherent in Web 2.0 applications
In Web 2.0, we are able to create a Rich Internet Application, and give the user the experience he deserves. Careful observers may notice, however, that the programming model has lost some of its former coherence.
If you understood the point that I have made, and the implications it has for coding up apps with client-side bells coordinated with server-side whistles, please could you come round and explain it to my boss R? He thinks I am making a fuss about nothing.