Modern software applications should be divided into client and server components. This is not a new concept. What's new is that you need more than one client.
The ubiquity of heterogeneous personal computers pluralizes the client. I expect to be able to access Pandora from my work computer, home notebook, phone, tablet, video game console, car and blu-ray player.
As users demand this Cloud Experience, the implementation demands a Server / Clients Architecture.
The responsibility for storing the user's data belongs to the server.
The responsibility for providing a device-appropriate interface to the data belongs to each client.
Many application developers will resist. On the surface it seems like more work for questionable gain. But there is no stopping this trend. And I believe it is in our best interest to embrace it.
First, we need not fear having to re-write each client from scratch. We will be able to share code between them. Identifying patterns is a hallmark of good architecture.
Second, the more clients you have, the more valuable your server becomes. This plurality of clients opens doors to new opportunities: technical innovations, pricing models, market segments, service offerings, competitive advantage, ...
So, application architects, I encourage you to ask yourself how you can apply the Server / Clients Architecture pattern. This is only the beginning. We may enable our users to experience a synergy between their devices as yet unrealized.