Monday, October 6, 2014

Reflections on Android

I used to have an iPhone. I purchased the 3GS the day it was released and used it for 2 years. It was a great phone. I wrote a game for it and everything (although I never published it to the App Store). But when it came time to upgrade, I switched to an Android phone.

The iPhone/Android thing is like the Mac/PC debate from my childhood. Macs were extremely expensive (and still are, I guess) and less common. They couldn't run all the games I wanted. PCs were everywhere. They were cheap, and I could even build one myself. Since they were more common, they got more software written for them.

You'd think it would be like that today. There are tons of Android phones out there. Everybody can get one. They give you one for free with a cell phone contract. There's no waiting in line outside an Apple store for a week to get one. Android should be the first platform for which anyone develops software.

But it's not like that at all. Everyone develops for iOS first, and then maybe Android later. It's not as bad as it used to be, but it's not that great either.

What's wrong? Most people will tell you, and I am forced to agree, that it is harder to develop for Android. There are just too many devices with too many hardware-specific quirks. There are too many versions of the OS out there as well.

It's unfortunate that it has to be this way. Back in the Mac/PC days of yore, the fact that there are 1.34 bazillion hardware configurations for PCs didn't matter. Well, maybe it mattered a tiny bit, but for the most part we didn't worry about it. The OS took care of most of that for us. The PC ran DOS or Windows (depending on what year we're talking about) and that's all you had to worry about. New versions of the OS weren't released that often, so you had a longer cycle to catch your software up to the latest version. But if the operating system is supposed to abstract away all the difficult parts of working with a variety of different physical hardware, and Android app developers are having a less-than-ideal experience with that, does that mean that Android is a bad OS?

Maybe I'm being too hard on Android. When I think back, sure MS-DOS 6.22 would allow any game designed for MS-DOS 5+ run on my computer, but if I didn't have one of 2 supported sound cards I would hear no game music. I didn't blame that on DOS then, and I guess I shouldn't blame Android now.

Who do I blame, if not Android? Do I blame the hardware manufacturers for poor drivers? Do I blame the application developers? Do I blame it on the rain? Maybe my whole analogy is just flawed. Phones today are computers, more or less, but perhaps I am drawing unrealistic parallels between my Galaxy S3 and my 486SX Packard Bell.

I better stop typing now before this turns into a crazy rant or something. But I might buy another iPhone someday. comic for 6 October 2014