Rory Cellan-Jones and Misdirected Ingenuity

While wandering the BBC blogs, I came upon this article by Rory Cellan-Jones.

It reminded me of something that's been bothering me for some time. What a strange, backward step it is to have to write 'apps' (programs) for different devices just to use a website.

The great thing about the internet is that it has standardised a formatting language (HTML/CSS), a transmission protocol (TCP/IP) and various programming languages (but mainly Javascript) so that any computer-like device can download a webpage and display it in exactly the same way as any other computer-like device.

Yet the arrival of mobile internet has somehow caused the rise of the 'app'. Instead of concentrating on making webpages that function correctly on all devices, suddenly we have programmers writing native code for lots of different devices. You could argue that at least it's creating jobs for programmers. True, but I'd argue it's time and resources that could be better spent elsewhere.

The argument in favour of mobile apps goes, as far as I can tell, that the processors in mobile phones are still quite weak compared to proper computers, and therefore it helps to use native code to speed things up. That might be understandable when it comes to things that need a lot of computing power, like iplayer, but it really doesn't explain why every other website has to have a mobile app just to render some text and pictures.

From a security point of view, the last thing you should want to do is install programs willy-nilly, yet websites are increasingly pushing mobile users towards the idea that this is a normal state of affairs.

If your website is too slow on a mobile device, I can't help suspecting that the underlying HTML/CSS and code that powers your website has become far more complex than is actually required - or someone's mobile's web browser isn't very good.

As an experiment, I tried downloading Rory's blog post to the most powerful internet-capable mobile device I own - my ancient Psion Revo. (16Mb, 36Mhz ARM 710T processor). It managed okay with scripting and pictures disabled, but locked up horribly otherwise. However, this is a machine first built in 1999. The processors of mobile devices in use today are considerably more powerful than the Revo's, and have much more memory available to them.