In defence of Android

I would like to start by saying that I really enjoy Charles Stross’ novels, you should really check them out.  I don’t agree with his latest blog post about the Android ecosystem and it has prompted me to defend Android on a number of points.

If the hardware ran iOS and had an Apple dock connector (or just plain ordinary micro-USB) I’d be singing its praises.

There are a couple of interesting points here.  The apple dock is a proprietary and patented connector and whilst I am not an expert on the licencing terms (NDA required) it would appear that its use can mean paying royalties to Apple.  I do agree with Charles that Samsung should stick with micro-USB though.

I would also welcome the opportunity to run iOS on one of my many ARM powered devices but is is a closed and proprietary system and this is simply not a possibility.

The Galaxy Tab II may run Android 4, aka Ice Cream Sandwich, but they just couldn’t resist the temptation to slather it with embarrassing quantities of junk applications in a pathetically poor attempt to ape Apple’s walled garden approach to providing tools.

I agree with this on a personal level because I know what I want my tablet or phone to do.  One family member of mine wouldn’t agree with me though because they don’t have an interest in going out and finding many apps; they are perfectly happy with the tools on their Galaxy S2.  One thing I would point out is that whilst you can’t remove some built-in apps, ICS did introduce the option of disabling apps so at least they would disappear from your device and be prevented from starting up.

By my estimate they take up around 20-30% of the not-terribly-large internal 8Gb[sic] FLASH storage

This doesn’t seem right to me.  I really don’t think that the built-in apps are taking between 1.6GB to 2.4GB.  It is certainly true that you won’t have the full 8GB available to you for the installation of apps but it isn’t as bad as is suggested.

Adding insult to injury, it’s relatively hard to root the Galaxy Tab II. (I will freely confess to being a n00b with respect to both Android and Windows: doubtless if you’re heavily into these platforms it’s quite easy, but there’s a bit of a learning curve if you don’t routinely work with them.)

If you don’t routinely work with something of course there will be a learning curve involved.  I use a wide variety of devices and operating systems myself  such as ipod, ipad, android phone, android tablet, os x, linux, windows etc.  Until recently I only used to root my Android devices but when it came time to jailbreaking my ipod I had that same learning curve.  I had no idea what colour or variety of snow to use and I found that I had to be on some very specific version of iOS to be even eligible to jailbreak.  Apple are very fond of not signing iOS upgrades after they’ve been out too long so it can be impossible to downgrade sometimes too.

Rooting—a necessity if one is to remove the crapware or replace it with a Cyanogenmod build—seems at present to require installing Android dev tools on a Windows machine and then using an arcane piece of debugging software.

This is not true,  the Android development tools can be used on Windows, Linux and OS (and with many different IDEs on each).  iOS apps, on the other hand, require a Mac for development.  The usage of adb (the arcane debugging tool) is no more esoteric than the usage of xcode or any of its command line tools.  The target audience for these tools are developers.  Not a lot of people are developers, so developer’s tools are by definition arcane.

Android is already so badly fragmented that it’s hard for developers to work with (just look at the graphs of screen resolutions and sizes in that link if you want to see a user interface horror story in the making)

I prefer fragmentation to monopoly.  Android devices can be divided into various families and there is tooling in the development environment to support this.  Developers don’t have to write a specific UI for each device!  It is also a developer’s responsibility to develop user interfaces that deal with screen measurements on a relative and responsive basis.  For example in Android we have the concepts of scaled pixels and device independent pixels that ought to be used if our applications are to work well across a diverse range of devices.  I don’t want to have my screen size dictated to me by a manufacturer.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s