I see two fundamental issues at the heart of the problem:
* iOS allows users to install only applications approved by Apple. This makes about as much sense as a house with built-in technology that prevents the owner from using any furniture, kitchen equipment, and entertainment device that isn’t pre-approved by the home builder.
* iOS prevents users from installing and accessing other app stores. (Other proprietary mobile OSs make it difficult or impossible to install third-party app stores.) This makes about as much sense as the home builder having the legal and technological power to prevent the homeowner from visiting certain shopping malls in the area.
Installing any app you want -- and any app store you want -- on your own device ought to be an inalienable right.
--
Edit: I updated the second point to reflect that Android does allow the installation of third party app stores -- see comments below. (Thank you mokeyfacebag, stanleydrew, and ZeroGravitas for pointing this out!)
There is a fundamental difference between well written Android applications and iOS ones. iOS apps are expected to run as an island. Everything they want to do should be included into the binary. There is essentially one entry point (a main() equivalent). Think of it like a statically linked binary (which it mostly is).
Well written Android applications are structured like mashups. There is no main. There are multiple entry points for screens (aka Activities) as well as entry points for processing (Services), data (ContentProviders) and even a mechanism (BroadcastReceiver) for telling all interested apps about events (eg battery charge level changing, incoming calls, apps being installed). There is a mechanism for decoupled communication (Intents) which allow specification of a verb (eg VIEW, PICK, DIAL, EDIT) and one or more bits of accompanying data (eg text, urls, images). It is trivial to bring up/use part of another app that didn't even exist at the time yours was released and have the experience combined. (You can always tell iOS apps ported to Android because they don't do mashups or collaborate with the apps already on your system.)
This means that an iOS app will never be improved by other apps installed on the system, while Android ones can be. And because of Intents it becomes possible for a user to choose their own experience - want to use a different browser or app for viewing images? No problem. For example I installed the GitHub app on Android and it added itself to the AccountManager. Now other apps can collaborate with it (eg it supports the SEND verb which creates a Gist) or ask it to display an issue/user/commit.
The (long winded) point behind this is that app installations are far more valuable to Android users. If things were only decided on technical merit then Android will end up nailing iOS because of this. But that walled garden sure looks nice to many people, and it is rare for users to really notice what is going on and they definitely won't have both devices to continually contrast and compare.
Launching apps from file associations isn't integration. (Windows 1.0 did that.) Try sending files instead. The source app on iOS has to integrate every library it wants to support. eg to have Dropbox it would need to include a Dropbox library, and a Google library, and a Box library etc. (And ask for usernames and passwords in each app including the library.) A frequent complaint of users with other browsers installed is how often the builtin Safari comes up instead.
Try alternate dialers. On Android you just install an app that claims to handle tel:// urls. You are out of luck on iOS. Try adding another social network that can handle sharing. Again you are out of luck on iOS until every source app adds libraries. And images, contacts, calendars, and whatever some startup thinks of next week.
iOS is trivial in this regard - there is essentially no cross app integration. That fits with Apple's walled garden model, and means that apps do not change their functionality after installation which fits in with Apple's review process. Having "deterministic" app behaviour hasn't hurt Apple so far - they rake in over half of the smartphone industry profits.
> Both iOS and Android prevent users from installing and accessing other app stores.
This is not true for Android. Some OEMs might ship a version of Android that is tied to a single app store (e.g., Kindle Fire), but I'm quite certain that vanilla Android can install any old .apk from any source.
From a European perspective, that sounds really strange.
I've got mobile broadband in my laptop. Imagine if the provider of that service would have a say over what programs I could run on my laptop. Very strange.
It's a SLA, which typically don't come with laptops.
Video game consoles are similar - MS won't allow you access to the Xbox Live service if you've modded your hardware or installed different firmware.
Verizon doesn't care what you do with your phone, but they say that you can't get their cell phone service unless you run the device the way they want you to.
Completely agree. I don't mind if they lock-down the apps to be from the store only by default, like Android has done it from day one, or the new Mac OS versions have started doing, as long as you're still going to allow users to side-load any apps they want. I'll never choose a platform that doesn't at the very least give the option to install from other sources than the ones approved by the OS maker.
This is why the whole new Windows 8 direction scares me, too. For now at least, they are allowing desktop apps on Windows 8, but on Windows RT, Microsoft is just as bad as Apple with iOS. They won't allow you to sideload any apps. So if you want to use an app that wasn't approved by Microsoft, you'll have to jailbreak the Windows RT device. Sames goes for WP7/WP8.
> Installing any app you want -- and any app store you want -- on your own device ought to be an inalienable right.
What about game consoles? Calculators? Cars? Washing machines?
It's absurd to force a company to provide features and services by law. That is a huge violation of free trade and the rights of those who sell devices. You know what you can and can't do on a device before you buy it. If people cared as much about the issue as you do, they'd buy phones that allowed that. They don't. That is why your house analogy is so far off.
There's a difference between allowing users to install any app you want, and actively preventing the installation of an app or app store.
If someone creates software that runs on a game console, or calculator, and distributes it where users have a choice to install it or not, I agree with cs702, it should be up to the user/owner of the device if they want to take the risks to install it or not, the manufacture of the device shouldn't actively prevent such installation, but simply say, "If you do this, we won't support it, and it voids your warranty, but it is your device now."
They don't even after to make it easy for the users. It's not that Apple should provide another way for them to install another app store, that's a feature. It's that Apple shouldn't religiously hunt and destroy every means of jailbreaking just _because_ it allows users out of the Apple Control Sphere.
If you recall that users can be tricked into doing just about anything, you'll see that there's no difference between 'can' install alternate software and 'will' install alternate software. And that software will inevitably turn malicious.
I really can't agree with this. Most users are not going to dig down into the Android settings panel and manually enable app side loading and that's the only way to install alternate software.
This is exactly how things work on Macs now and Mac users aren't exactly swimming in malware.
Your second point is not accurate. I have the Amazon app store installed on my Galaxy Nexus.
Edit: now that you have completely changed your second point, my comment is not a valid response. Please refrain from substantially changing your comments once posted.
There is however a precedent of this model that has worked well and as far as I know never been successfully challenged, game consoles. Game consoles could be general purpose computing devices if it where not for the manufactures limiting the applications to just games and going to great lengths to discourage side loading.
Apples App store and approval process is basically an online version of the classic game console model with much cheaper entry fees for developers and must less restrictive rules.
All the reasons why game consoles have been successful vs PC gaming apply to Apples success, lower piracy, less problems for users, less complexity for developer because of controlled hardware and software platform. All the same limitations apply as well.
I think the analogy is apt, but it's worth pointing out that most consoles are crippled against sideloading as an anti-piracy measure. They don't want you to be able to rip a game DVD, burn copies for your friends, and let them all play the game for free.
Apple prevents sideloading simply to have greater control over the platform.
Apple prevention side loading has the same effect and console manufacturers also gain "greater control" as a result.
What information do you have the confirms Apples doing it only for "greater control"? Would they also not want to prevent piracy in order to make their platform more attractive to developers?
What is the difference between a Nintendo DS and a iPod touch other than Apple has a wider range of apps other than games?
I don't know about that. Consoles tend to have strict certification requirements, and presumably the manufacturer gets a cut of game sales, both of which are reasons to prevent sideloading unrelated to piracy.
Your comment claimed (up until a moment ago) that Android prevents users from installing and accessing other apps. Now it says 'proprietary mobile OSes', which from certain angles Android is. Yet my Android phone has multiple app stores on it.
Have you heard of, for instance, UL? The electronics in your home have almost assuredly been tested and certified. Large retailers won't sell you non-certified electronics.
Apple has every right to vet the apps it sells in its app store. And it makes sense to do so.
But I agree with your second point, that consumers should have the option to obtain apps from other stores.
> Installing any app you want -- and any app store you want -- on your own device ought to be an inalienable right.
You're acting like:
1. Jailbreaking doesn't exist.
2. Apple is actively working to prevent people from jailbreaking their devices.
This is simply not the case. Apple is neither technically nor legally hindering anyone's ability to jailbreak their devices.
Your problem is analogous to complaining you ought to have the inalienable right to go outside, but you were born in a home with doors. But once you open the door, the world is yours for the taking. No one is stopping you.
Apple has stated publicly that they consider jailbreaking illegal and void your warranty if you do it. It's only still possible because people keep finding holes in their code.
Your analogy doesn't work because the only way to open the door on your Apple house is to pick the lock.
Well, if the phone still works and you need something replaced under warranty, you can always factory reset it.
If the phone DOESNT work, then there is no way for them to tell that it's jailbroken in the store...
But keep things in perspective. Apple chooses to sell appliances, not platforms. Apple products are more like toasters than houses. I agree that I should certainly have the right to modify my toaster, but I don't begrudge the designers for making it difficult for me to do so.
Of course now that MS is tying Metro style apps to their proprietary app store in the next version of Windows, the distinction between appliance and platform is starting to blur.
I think that's a bit of hyperbole. Game consoles are decidedly a smaller market, but dying? Come on. The latest game consoles will always be much more powerful than the latest phones just as the latest PCs will always be more powerful than the latest consoles. The console market might shrink a bit due to casual gamers being able to use mobile devices but die?
* iOS allows users to install only applications approved by Apple. This makes about as much sense as a house with built-in technology that prevents the owner from using any furniture, kitchen equipment, and entertainment device that isn’t pre-approved by the home builder.
* iOS prevents users from installing and accessing other app stores. (Other proprietary mobile OSs make it difficult or impossible to install third-party app stores.) This makes about as much sense as the home builder having the legal and technological power to prevent the homeowner from visiting certain shopping malls in the area.
Installing any app you want -- and any app store you want -- on your own device ought to be an inalienable right.
--
Edit: I updated the second point to reflect that Android does allow the installation of third party app stores -- see comments below. (Thank you mokeyfacebag, stanleydrew, and ZeroGravitas for pointing this out!)