Christian Heilmann

At the end of my tether…

Monday, January 12th, 2015 at 3:45 pm

The last five days I was without fixed internet. The reason was that someone ripped out the cables of the main exchange on my street which left a whole block without phone and data connection:

Cable box with ripped cables

Of course, eight different internet providers tried to shift the responsibility to each other which is why it took five days to fix. I am lucky to live in a neighbourhood with lots of cafés with free wireless, and I am on leave, so it was not that much of an issue. It was interesting, though, to see just how bad an experience being online with my mobile or via hotspot on my Android still is.

Traffic watch


traffic spike

First of all, I thought I had unlimited traffic. Turns out that my T-Mobile, which then changed to Orange, which now turned to EE, and probably another provider next week or when the moon is full has a “fair use” limit of 5 GB per month. Other neighbours were less lucky, they had their mobile contingent used up really quickly and then had to resort to either buying expensive boosters or a different SIM.

Following my normal surfing and computing habits, I’d have exceeded the 5GB in 6 days – and that’s while working from the cafe most of the time during the day.

Our internet traffic is ridiculous by now. And in most cases it is cruft. It is people posting an image when a text would have been enough. Huge images and lots of fonts for a simple blog. Video ads and social media solutions (“like buttons”) with lots of dependencies instead of being – say – a link or a button pointing to an API endpoint. But most of all, it is constant software updates and dependencies on anything you try out. On a fast connection, we don’t realise that much. But when you are wondering about your traffic use, any app starting and asking for an update is annoying. This is exacerbated by the fact that many updates fail to tell you upfront how big they are and what benefit they have. Are they a security fix? Or a new background image and cool new emoji packs?

My daily internet check involves naturally a lot of code related research. In the past, this involved downloading a zip file, unpacking it and playing with it – even offline. Maybe pulling a github repo. In our new world of package managers everything is a trip to the command line, dozens and dozens of resources being loaded and installed and – if you are lucky – you end up with a folder with an HTML document, a CSS file and a JS file. If you’re not lucky, you get some cryptic error messages after downloading 5MB. Or a JavaScript you’d like to try out asking you to give its installer SUDO privileges. The cherry on top is that When you try the solution out it still needs to load more resources from a CDN. Some simplicity in this case would help a lot of developers in badly connected environments.

Battery drainage and heat accumulation

Having a hotspot on your Android also means your battery is eaten very quickly. Leaving the phone attached to a lead is very much necessary. The hotspot also lives up to its name and heats up the phone nicely. With the temperatures these days, this was actually not bad, but you know what I mean.

Detection nightmare

When using the hotspot on my Android, most pages detect my laptop as a mobile device. In many cases, as an iPhone which makes no sense whatsoever as I am tethering to a Nexus 5. I then get a “mobile experience”, most of the time very limited in functionality, but at least still with retina ready imagery of several MB whilst my resolution is 1024. Far too many sites make a lot of assumptions in their detection.

Content filtering

Another thing my provider does to protect me is content filtering. A few of the web sites I use are now not available as they have “adult content”. In most cases, this is a wrong detection of a seemingly naughty word, whilst real porn sites load just fine (I heard). This is creepy. And I was never specifically asked if I am OK with that. It also means that everything I do goes through some filtering proxies. Who watches the watchmen there?

Image compression

The last thing my provider does is downsample images. This means that everything looks blurry and full of JPG artifacts whilst not really saving much in terms of file size. Each image gets a little tooltip on hover that states “Shift-R improves quality of that picture and SHIFT-A improves the quality of all pictures on that page”. This seems to be injected by proxy as I can’t find it anywhere in the page and it overrides other tooltips. The way around that is to modify the headers of your browser to set Cache Control to No-Cache.

Learnings

All in all this verified what I’ve been saying on stage for quite a while now: offline matters. Sadly enough, not any of my day to day tools works offline any more. Excellent services like Netflix don’t allow me to download something and watch it later (like the BBC Player did – or does?). Spotify works offline, if you download your songs. That’s cool.

I also realised that whilst I felt very annoyed about being offline most of my neighbours had less problems with it. The general consensus was that it is annoying as the kids can’t play their games. Another case that really would not need a connection in most cases. But it also means that what ails us as technorati really is not what everybody thinks. Time for a reality check.

All in all, I found the mobile-only connectivity still a very disappointing experience. And that is something I will keep in mind for conversations when people tell me that every user now is mobile and that neither desktop nor landlines matter any longer. Those people should go on a wireless diet like this and then re-consider what they are saying.

Of course, this is all still amazing and a few years ago we only dreamt of the things we have now. But, with big promises comes bigger disappointment. Seeing a full wireless icon and being unable to connect to the internet is a very odd experience. And we shouldn’t be surprised that things fail, after all, it is humans running this.

Share on Mastodon (needs instance)

Share on Twitter

My other work: