App store policies mostly, such no browser engine except Safari, no replacing functionality offered by a built in app (is that still one? It was for quite a while), etc.
There are policies that empower the user, such as making applications subscribe to specific security permission sets and notifying the user what those are, and there are policies that restrict the user, such as only allowing signed applications delivered through their own app store. To my mind, Apple is much more willing to restrict their users for what they see as their own good, as well as for Apple's profit. Android isn't perfect in this regard either, but it's better (at least for a lot of brands, which allow third party applications if you jump through the right hoops).
In my view, Apple has been slow to make iOS more flexible and less restrictive. I'm hoping that some of the above limitations would be removed in some way in another few years.
Allowing a third party app to be set as default for some function could be done right now, but Apple doesn't seem to think it has any incentive to do so. I'm not expecting that change anytime soon, or ever.
Some other changes will be done in a methodical way without compromising on the app sandbox and other restrictions placed on apps to maintain privacy and security (if not enhance them). I'm guessing third party browsers with their own engines could come to iOS within a few years.
Some other limitations, like allowing apps from a non-App Store sources (except the Xcode side loading available now, for which a Mac is required), would never be lifted.
> Some other limitations, like allowing apps from a non-App Store sources (except the Xcode side loading available now, for which a Mac is required), would never be lifted.
A Mac and $99 a year. That's not cheap, and given how infrequently I replace my phone, might be up to an additional 50% on the base cost, even if you have the Mac. Around 2011 or 2012 I wanted to play around with making an iPhone app. I never did because I didn't have a Mac and didn't want to pay hundreds of dollars and a $99 fee on top of that just to play around.
Well, that's half the problem down, now they just need to ship Xcode for Windows or Linux.
I used a Mac for work for a couple years 5-6 years ago. It wasn't horrible, but it definitely grated in areas. Mainly in how the window manager switches applications, and windows within the application with different commands, and for my usual workflow (lots of terminals and a browser) that was extremely annoying. It might not have grated so much if I wasn't coming from a custom FVWM config I had been revising for over a decade, but the limitations of the OS X window manager were maddening at the time.
The app store policies you state are no longer in force, eg:
- Chrome, Opera, and Firebox on iOS
- Google Maps, Waze on iOS (and others)
Restrictions that empower users on iOS ultimately restrict developers. That is an essential power balance "problem". Which side one prefers sure says a lot about that person ;-)
Opera gets around this by doing the rendering on their server and pushing the results to the app. This also enables them to do things like a VPN without additional software and image/page compression being done server-side, instead of using the Safari engine (blink or webkit?).
At least that is now it was very recently. As in, within the past year. I'm not sure if it has changed since. In May, they announced they were slowing development down. I haven't followed up with that.
There are policies that empower the user, such as making applications subscribe to specific security permission sets and notifying the user what those are, and there are policies that restrict the user, such as only allowing signed applications delivered through their own app store. To my mind, Apple is much more willing to restrict their users for what they see as their own good, as well as for Apple's profit. Android isn't perfect in this regard either, but it's better (at least for a lot of brands, which allow third party applications if you jump through the right hoops).