Friday, 12 April 2013

Computer platform instability

Are we headed towards or away from computer platform stability? In the very early days of computers, each one needed a custom operating system, because they were all that different. As time went by, hardware started standardising, and so did operating systems, through the mainframe days into desktops and servers. For a while, there was peace, with just a few desktop operating systems, and that is still the case to an extent, but there are more minor OSes popping up every day, usually based on Linux, because it's open-source, and even the new versions of the major platforms fail to completely displace their old versions (Windows XP is still going strong, despite being unsupported and now superseded three times over).

Cut to the mobile marketplace, where not only do we have unique hardware, but every company insists on putting its own spin on Android, quite often with special requests and additions for the mobile carrier too. New versions fail to displace the old, and our only relief is planned obsolesence where the phones break down on their own after a year. Meanwhile there are more and more software development libraries promising to make cross-platform development easier, usually by liberal application of JavaScript and HTML5, the lowest-commond-denominators of the software world.

So is it going to get better any time soon? Probably not. Until it is legally mandatory for every mobile phone to be equipped with a factory reset button that installs stock-standard Android without carrier and manufacturer cruftware, all those custom tweaks will make life hell for developers like me, unless we resign ourselves to a lifetime of complex server-side development with tools that were meant to make images change on 1990s websites.

Mokalus of Borg

PS - Right now, to target "every major platform", you need at least six versions of your app.
PPS - Which is why so many people just make a website and call it an app.