Fat Client, Thin Client
Ben Thompson’s latest post is about Dropbox, Box and focusing on consumers vs enterprise as customers. I don’t have anything to say about that. I do, however, want to talk about his opening paragraphs:
The problem with the old thin client model was the assumption that processing power was scarce. In fact, Moore’s Law and the rise of ARM has made the exact opposite the case – processing is abundant… …Thus, over the last few years as the number of fat clients has multiplied – phones, tablets, along with traditional computers – the idea of a thin client with processing on the server seems positively quaint; however, in the context of our data, that is the exact model more and more of us are using: centralized data easily accessible to multiple “fat” devices distinguished by their user experience.
Calling today’s phones and tablets “fat” is, I think, quaint. It is an easy trap to fall into. They are many orders of magnitude more powerful than those a decade ago. If the Palm Pilot was a thin client, certainly a modern iPhone cannot also be called “thin”.
But the thin client computing model was never about the absolute processing power, or lack thereof, of the clients. The crucial factor was the relative difference in processing power and storage between the client and the server. No matter how powerful the device we’re holding in our hands is, the warehouse-scale computer on which it depends is many, many more times more powerful. And without knowing what datacenters two decades ago looked like, I think it’s safe to say that the server/client power ratio has only increased over time, and is likely to continue increasing.
A smartphone or tablet’s impressive computing power goes largely into pushing pixels around, and giving us a great experience by responding quickly. It would be useless without all the backend services (app stores, cloud storage, social networks… the list is endless) it derives its usefulness from. A phone or tablet without net connectivity if pretty much a brick. And so, by definition, it “depends heavily on some other computer (its server) to fulfill its computational roles”.