Dumb PC/smart Web versus smart PC/dumb Web
One of the issues that we need to confront as we design the computing architectures of the future is the question of which will be "smarter", the user's "device" (PC or "phone" or other object) or the applications on the Web.
One route is that we continue to put a fair amount of intelligence on the user device and that the Web remain primarily relatively static data and "services". For example, the browser and browser "add-ons" would continue to get smarter, and Web Services would be primarily "utilities" to be used by browser-based applications.
The complementary route is that the user device be relegated to being a relatively "dumb", "thin" client, strictly focused on UI implementation and that the real "smarts" of applications would live on Web servers. For example, the browser would support sophisticated AJAX-like UI support and a 3-D graphical environment, but little in the way of support for "intelligent" operations on the device itself.
Obviously you can have a full spectrum of hybrids of dumb/smart, but then we will have to constantly be making tradeoffs about dumb/smart as we design each application. That might be optimal for specific applications, but raises the cost of designing, implementing, and supporting applications and it may be pure hell for poor "dumb" users who simply want some consistency between applications so that they don't need to figure out every new application and try to keep them all straight.
This raises the next question, which is what criteria to use to decide where along the spectrum smartness and dumbness lie.
It also raises the question of where software agents will live and operate. Do we want agents to live strictly on servers with only UI elements on the user device? Or do we want software agents to live and work on the user device as well or even primarily on the user device?
More food for thought.