@Buttonstc – “So are you saying that if the powers that be at Yelp did not want their app to behave this way that they would be powerless to do anything about it?”
Most – as in almost 100% of people – expect that if they click on a link that is associated with an app they have installed on their phone, that it will open the app. They build the apps so they can tailor the experience for mobile users. So, the default behavior that Apple has built in provide ties to the installed apps to determine what opens when a particular type of link or file is selected.
@Buttonstc: “IOS is imposing this upon them?”
Absolutely. This is Apple’s philosophy. They know what their users want better than the users themselves. This is why people who like to have a phone work for them cannot stand iOS and Apple. It’s not a design flaw – it’s a philosophically-motivated “feature”.
@Buttonstc: “Doesn’t each company write the code for their own app (or hire someone to do it) ? Doesn’t the way in which the code is written determine the behavior of the app?”
Yes and no. What we’re talking about here is a straightforward difference between iOS and Android. Let me describe how this works in Android….
If I am browsing in Chrome, have the Yelp app installed, and click on a Yelp link, I get a popup that gives me the following choices:
- launch the link in the Yelp app
– launch the link in Chrome
– launch the link in Firefox
Additionally, when you select your desired action, you can choose:
- “only once” – This way, you can make it prompt you each time so you can decide.
– “always” – If you select this, it will always default to that action. But you can reset that action any time.
Note that none of this has anything to do with the Yelp app or their developers. This is how Android works. If I click on an IMDB link (or LinkedIn or maps, etc), the same thing happens. If I download a photo and want to open it, it doesn’t just default – I get a hundred different choices of apps to open it in.
Anyway, it’s possible (I can’t say with certainty) that Yelp could have coded a way around the iOS design to provide a way to workaround this. It seems that it would require using the app as a pass-through to launch another instance of Safari with that Yelp link loaded. But it’s possible that this would trigger an iTunes rejection upon submission (Apple is very strict in their app approval process). Doing some hacky thing like this to “break” iOS functionality would likely mean a rejection.
I hope this helps.