A little introduction
In the most basic form, HTTP is used to establish a connection or link between two end points.
As part of HTTP, the browser sends information about itself including it's user agent (i.e. the browser, spider and so on that it is using), what it wants to request and so on.
I personally feel that although it does cover quite a lot of what should be requested, it is still missing one major feature.
Data network
Nowadays, developing for smartphones means reducing the amount of stuff that needs downloaded because of much slower data connections as well as the limitation of the amount of data available in these data packages.
Both of these cause problems for web developers in that we have to find work arounds.
One such workaround that I use is the Mobile Detect library for PHP. It's great but it's not ideal and here is why:
Since Windows Vista kicked off, the development of the PC-Tablet has lead to the development of computer systems running on full desktop operating systems like Windows 7 and Windows 8 featuring 3G. Users have been able to use a data connection on their laptop or desktop operating system based tablet.
When Windows 8 was released, this became an even bigger market.
The problem occurs because of the fact that whilst they are using a data connection, the Mobile Detect library, which relies on user agent strings, sees a full desktop browser.
This means websites like my own download all of the adverts and other things that I have intentionally taken out of mobile data connection version of my website thus increasing the amount of information downloaded.
Inversely, if someone is running Android on a desktop computer (why I have no idea but this may happen) I would like them to see the full website, that is, everything on the website from the content to the adverts should be visible as their connection can handle it (although even when adverts are added my site only weighs around 2.00MB, but I'd like to help users make savings everywhere).
My suggestion is to add a new parameter to the HTTP specification, one that allows the user's browser to inform the server that they are using a mobile data connection.
This means methods can be used in PHP to cut out stuff that they should maybe not see, attach CSS classes to sort the page for them and then send it.
If you agree with me, share this article across the web and let's try and get it added!
You can read the full HTTP 1.1 Specification here.