A lot of people ask me which mobile platform is the most secure. They would probably like a definitive answer, but unfortunately, things aren't so black and white. There's plenty of good in the worst platform, and plenty of bad in the best. If you have a few minutes, though, I can tell you the best and worst things about the two market leaders today, Android and iOS. But you might end up feeling like one of those undecided voters who, with less than a week before the election, can't choose between the Republican and Democratic presidential candidates.
The Good and Bad of Android
Both platforms separate apps from one another in a sandbox, but my preference is for Android's approach. Is the Android approach more secure than Apple's? The jury is still out on that question. No, my preference relies entirely on my being an old Unix hand, and the Android approach is one that any Unix or Linux geek can understand and work with. With Android, each app has a unique UID and GID (user and group IDs), as in a traditional Unix-style model. This uses the tried-and-proven Unix-style discretionary file-access controls to allow an app to get to its own files and not affect others.
When you couple that sandboxing with the application manifests that Android uses, you have a pretty elegant sandbox model. Each Android app has a manifest in which it declares the privileges it needs. At installation time, the user decides whether to allow or disallow these privileges.
That's the good news for Android. Now let's consider the bad news.
That same sandbox model has some pretty bad user interface issues. For one thing, there's no "line-item veto." Users have to accept or reject all or nothing when installing an app. And they do that after they've gone to the app market and decided to install the app, possibly after paying for it. Once they've gotten to that point, how many users are going to reject the privileges? Not many, I'd wager.
And that's not my biggest Android gripe. The worst thing is Android's market fragmentation. When you buy an Android device, it's up to your product vendor to support future Android updates. When Apple releases a new version of its iOS, every iPhone, iPad and iPod Touch user has the option right away of installing it. Not so with Android. When Google releases a new version of Android -- something it does with startling regularity -- your product vendor has to then port that release for your product. Most of them take their sweet time, or don't bother with it at all.
Now, if you're a techie-inclined hobbyist, you're rolling your eyes right now and saying that's not a problem, because you know how to root your device and put generic OS releases on it. Good on you. But you surely won't be alarmed to hear me say that you aren't like most people, and I'm principally referring to generic consumers here.
Sign up for Computerworld eNewsletters.