This is a response to “what about iOS?” questions from my calling Android “the last promising mobile platform standing” in the boilerplate for the posts I’ve been making about problems with Android. I come prepared with a list from my last two rounds of mobile device shopping.
- The whole Jailbreaking mess is ridiculous. Android rooting is a relitively passive process, and the manufacturers are actually trying to be helpful. Apple is actively trying to lock you out of your device on every update. I’m a firm believer in the “If you can’t open it, you don’t own it” philosophy, and I like owning my computers.
- Silly domain-specific language. Apple likes to act like their implemenation of Objective-C is a general purpose language (and that the versions for OS X and iOS aren’t mutually incompatible dialects), but when was the last time you saw something in Objective-C that wasn’t for an Apple platform? Even if you can come up with something, the other implementations are all OpenStep compliant – which is to say, incompatible with Apple’s. I will admit that using native code that is a superset of C is arguably better than the “Everything is written in Java and runs through our re-implemented JVM” situation on Android, but at least Google has their NDK now.
- To write code for iOS, you need a recent Mac, Xcode, and a subscription to Apple’s developer program. To develop for Android, you need a computer. Google has a nice integrated eclipse-based toolchain, but if you want to do it with a text editor, make, and the binaries for whatever platform you are running from the SDK, there are directions for that too. I’d really prefer that the “computer” requirement wasn’t there – being able to try out simple scripts and compile test C programs on Maemo was wonderful, WebOS had it, and I want it on Android… apparently you can hack a toolchain together on Android with tcc and uclibc/dietlibc, and I’ve been trying, but I’m not willing to pay for a broken version.
- All of the current mobile platforms give an unprecedented amount of access to the platform owner. I don’t trust Apple enough to give them a snitch in my pocket. I’m not entirely comfortable with Google having that kind of access either, but it’s a “choose your poison” situation.
- No native multitasking. Apple has that weird freeze state background callback mechanism they call multitasking, which works in limited circumstances, but it really isn’t. They also don’t have a platform level clipboard mechanism or any of the other features that make multitasking work. WebOS’s behaviors in that regard were better than Androids, but… yeah.
- Single source for software. Android has a checkbox to use alternative sources, and doesn’t have byzantine rules on what goes in Google’s market. iOS has “Jailbreak, install a third party manager, and pray the next update doesn’t brick your phone”, coupled with a transparency-free review process for applications that go in their store. That’s an appliance with vendor-provided modules, not a platform.
- I want a god damn keyboard. Using up half your expensive high-resolution screen for a keyboard large enough to mash your fingers on is retarded, and I’m yet to use a software keyboard that comes close to being as usable as even second-rate hardware keyboards. Apple has a long standing war on buttons, so built in isn’t going to happen, and third party clip on Bluetooth keyboards aren’t a solution.
Honestly, a 4-ish inch iOS device with a physical keyboard hacked such that it would have nothing to do with Apple’s servers (Updates when I ask, Cydia (rebadged dpkg) for package management, etc.) would be a pretty attractive platform – the underlying tech is good, and the userland is more POSIX-like than Android – but Apple won’t let that happen.
As for other platforms, I don’t see any evidence that Windows Phone is going to be any more successful or desirable than the previous incarnations of WinCE and WinMo – they seem to just be copying iOS, stupid omissions and all, on top of a different kernel. HP did their stupid thing to WebOS, and Nokia just killed their own to turn themselves into Microsoft’s mobile hardware division in all but name (which, history tells us, means they should be defunct shortly). So. Last promising platform standing.
Edit: I would make a note about it being tied to iTunes, which I despise in almost every way imaginable, but I once owned and liked a Creative Nomad Jukebox 3 where step one is “Get third party replacement software,” and the situation is much the same with Apple. Also, removable storage counts as a plus for Android, but Apple hasn’t expressed a dogmatic position against it, so the fact that no iDevice has had a microSD or similar slot isn’t a fundamental platform problem, just an issue with their existing hardware.