Trade-Offs Idempotency Retry to Recover from Temporary Failure Prevent Conflicting Edits HTTP Spec. Conformance Reduced Server State Increased Development Costs Increased Implementation Complexity Easier to Develop Reliable Client Automatically Recover from Failures Improved Mobile Client Reduced Development Costs Prevent Data Loss Prevent Customer Frustration Prevent Customer Loss Reduced Costs Increased Profit Prevent Data Inconsistency Improved Concurrency Increased Throughput Improved Server Utilization Improved Client Performance Reduced Server Costs Increased Revenue Improved Scalability Improved Availability System Supports More Customers Increased Costs Reduced Profit Increased Maintenance Costs Increased Testing Costs