As I mentioned the other day, we are working on a Smart Client Architecture Guide to be published under the PAG umbrella. The guide covers the following topics...

Chapter 1 - Introduction
Definition of a Smart client. Types of Smart Clients. How to choose between Smart and Thin clients.

Chapter 2 - Smart Client Design Patterns
Application patterns. Service agents. Task-oriented applications.

Chapter 3 - Getting Connected
Loosely coupled vs tightly coupled systems. Handling Data - caching, concurrency, validation, binding.

Chapter 4 - Going Offline
What does it mean to be offline? Handling connectivity. Data-centric and message-oriented approaches to offline. Handling Data. Using tasks.

Chapter 5 - Security
Authentication options and boundaries. Authorization. Code Access Security. Web Services security.

Chapter 6 - Multithreading
Why use multiple threads. Creating and using threads. Locking and synchronization. Interacting with the UI. Using tasks.

Chapter 7 - Deployment
Deployment options - XCopy, no-touch-deployment, low-touch-deployment, SMS. Update options - no-touch-deployment, PAG updater block, SMS.

Chapter 8 - Performance
Optimizing Windows Forms performance. Memory management. Profiling and optimization tools. Troubleshooting.

The above summary is not very detailed or comprehensive but are we missing anything big? What are the biggest problems facing Smart Client architects and designers? Please send me your feedback...