There are a few interesting things going on with “carrier networks” on the whole that have had me wondering about how folks at the carriers/operators can be so painfully dense. There’s the problem with Sprint deploying a proxy transcoder and expecting folks to get whitelisted to not be adapted instead of using standards, stunningly similar to the Vodafone issue which has already been replicated with TeliaSonera. And I have an issue that hits more close to home, my startup company Mowser is apparently subject to some access restrictions on the 3 network in the UK which apparently do not apply to Google or Yahoo.
The common response to issues on these network is that standards be written up to specify the behavior so that carriers stop doing it. I’m going to have to cry bullshit on that one. While listening to a talk by Tim Bray from Rubycon I learned there’s a document up describing the overall architecture of the world wide web. How convenient.
A quick look through the document shows where carrier networks already diverge from published recommendations. For instance take a look at the very first section after the introduction:
In order to communicate internally, a community agrees (to a reasonable extent) on a set of terms and their meanings. One goal of the Web, since its inception, has been to build a global community in which any party can share information with any other party. To achieve this goal, the Web makes use of a single global identification system: the URI. URIs are a cornerstone of Web architecture, providing identification that is common across the Web. The global scope of URIs promotes large-scale “network effects”: the value of an identifier increases the more it is used consistently.
Well when you whitelist and blacklist sites at the network level guess what you’re doing? You’re segmenting the URI namespace based on your access network. Depending on where you are and how you’re accessing the network you might or might not be able to access a resource. And when a transcoding layer is introduced for all requests through a network independent of source link structure, you’re having the network make a decision to change the semantics of a URI, selectively mapping a whole chunk of URIs to other resources. Leaving aside the whole other issue of the general Internet principle of the intelligence for any given set of protocols being at the edge of the network instead of the core, this also conflicts with the overall principle of consistent global identification.
We’ve already had decades to understand and refine the proper functioning of the Internet, and there’s already a tremendous body of work laying down and describing how to replicate and interact with it. But carrier networks continue to break the most basic and fundamental principles when there seem to be obvious and simple alternatives to get to the same goals. I strongly doubt that yet another standard will do anything to help.
Almost all of the Mobile Web docs out of the W3C that I see reference the base W3C architecture description base document like the one I was just looking at. Yet still they go ahead and define something like “in network adaption” when talking about best practices. Best practices on the Internet say that no application decisions should be applied between the two communicating endpoints. Full stop. It’s just incorrect behavior.
Unfortunately nothing really seems to be affecting these folk’s decisions to do things that are disruptive, limiting, and destructive to the long term environment. You can always vote with your feet though. If I were on Sprint I would switch off their service, same thing definitely for 3. It normally only takes a few people switching off and giving the reason of “I can’t access the web sites I want the way I want” for their customer relationship systems to form the correlation and realize it’s an actual problem. I’ll help maintain a list of carriers not to use if you care about the mobile web also, cause people might be more likely to form their decision going into a purchase rather than after they already have things up and running. So here’s my list of carrier not to get service from if you care about the mobile web:
- Vodafone UK and Portugal
- 3 UK
If there are others let me know in the comments.