On The Importance Of Unfettered Broadband
from the it-goes-beyond-just-movies dept
Tim Lee has a great post making the point that it goes well beyond just "how much bandwidth does a single person need" or even looking at what specifically they're downloading, to recognizing the change in tradeoffs for creating applications if bandwidth is effectively unlimited. As he notes, in any engineering situation, there are resource tradeoffs. If you're building an application, there are tradeoffs to making a client side app vs. a web-based app, for example. However, if bandwidth is truly abundant, the very nature of those tradeoffs change and it allows for entirely different types of development, often in ways that are difficult to fathom right now.
Lee gives a few random examples of what unlimited bandwidth might allow as the tradeoffs change:
People with cable or satellite TV service are used to near-instantaneous, flawless video content, which is difficult to stream reliably over a packet-switched network. So the television of the future is likely to be a peer-to-peer client that downloads anything it thinks its owner might want to see and caches it for later viewing. This isn't strictly necessary, but it would improve the user experience. Likewise, there may be circumstances where users want to quickly load up their portable devices with several gigabytes of data for later offline viewing.So the question is not how much bandwidth does any person really need. It's how will the entire ecosystem of what we can do change when bandwidth is completely abundant?
Finally, and probably most importantly, higher bandwidth allows us to economize on the time of the engineers building online applications. One of the consistent trends in the computer industry has been towards greater abstraction. There was a time when everyone wrote software in machine language. Now, a lot of software is written in high-level languages like Java, Perl, or Python that run slower but make life a lot easier for programmers. A decade ago, people trying to build rich web applications had to waste a lot of time optimizing their web applications to achieve acceptable performance on the slow hardware of the day. Today, computers are fast enough that developers can use high-level frameworks that are much more powerful but consume a lot more resources. Developers spend more time adding new features and less time trying to squeeze better performance out of the features they already have. Which means users get more and better applications.
The same principle is likely to apply to increased bandwidth, even beyond the point where we all have enough bandwidth to stream high-def video. Right now, web developers need to pay a fair amount of attention to whether data is stored on the client or the server and how to efficiently transmit it from one place to another. A world of abundant bandwidth will allow developers to do whatever makes the most sense computationally without worrying about the bandwidth constraints.