LIVE: iCall (VoIP on 3G)
A lot of press has appeared declaring that Apple is now “allowing” 3G phone calls (i.e. you can make calls using your *free* data plan, instead of paying AT&T, O2, etc), citing iCall as the first accepted 3G VoIP app. The truth, it seems, is a little more subtle. It’s true that iCall is live in the App Store, and is now allowing this:
Yes, believe it or not… the moment that we have been eagerly awaiting has arrived and we are proud to finally say that iCall for the iPhone is fully functional over 3G networks.
…BUT – and, this is a huge BUT – they’ve done it via a backdoor that most developers believe is forbidden and that Apple “tolerates” on a whim. It is *entirely possible* that Apple could pull iCall from the App Store – because Apple was never given the chance to approve it.
(NB: I find this very unlikely; but this explains how/why iCall updated so quickly after the announcement)
EDIT: I don’t personally think there’s anything nefarious about what iCall has done; any references below to “bad” apps are for illustration / explanation only!
The sooper-sekrit backdoor in many iPhone apps
It is very well known among developers that there’s a guaranteed way to get any app accepted on the App Store (albeit with a different name + icon). The downside is that it requires a very intentional circumvention of Apple’s rules – and most of us fear that Apple would permanently ban you from commercial iPhone development if they caught you doing this to any extreme.
You write two copies of your app, and bundle them together. The good copy, and the bad copy. The app starts up, asks your website “am I good or bad today?”, and your website tells the app which version of itself to run. Until your app is approved, your website always says “be good; display cute puppies and flowers”. As soon as Apple approves the app, you change your website to say “be bad; unleash the hardcore porn and Android advertising!”.
This is technically forbidden by Apple. But … most iPhone apps do this in a small way already, and so it all becomes a question of degree. How dissimilar are your “good” and “bad” copies?
So … for now, we believe Apple is allowing VoIP over 3G. But we don’t yet have the hard evidence: iCall doesn’t count. At least, not until they enter submission with a new update, and give Apple a *chance* to ACCEPT/REJECT the new functionality…
January 30th, 2010 at 5:39 pm
Thanks for keeping up with our application development but I would like to take a brief moment to clarify that we have not done anything “sekrit” or “back door”.
Our application is a VoIP application, no “be good” versus “be bad”… every time iCall starts it checks in with our central servers to determine lots of things such as whether you are a paying customer or a free customer, to register with the VoIP gateway to receive calls and a handful of other things.
Many of the settings relating to iCall are not stored permanently on the software itself but rather are returned to the application each time it starts up, one of these many settings was the “can I talk over 3g” setting.
When Apple modified their terms regarding 3G, we only had to change a switch on our servers.
There was nothing nefarious and the functionality of the application did not change, only a setting changed.
While I can appreciate that there is a concern about applications changing their behavior after approval, from a practical standpoint I have never seen it happen. If a developer really turned on a “be bad” button they would quickly be banished from the development process for eternity ( I assume ).
Again, thanks for writing a nice blog, we enjoy your site.
-Arlo Gilbert, CEO
iCall, Inc.
January 30th, 2010 at 6:02 pm
(NB: I’m not trying to say that iCall’s setup is “nefarious”; I thought that the details of what I said, along with the sarcastic “sooper sekrit” terminology, would make that clear. There *are* nefarious apps out there that have used exactly this same approach, but I do not believe iCall is one of them)
@Arlo
“There was nothing nefarious and the functionality of the application did not change, only a setting changed.”
Quoting from your own iTunes page:
“3G 3G 3G 3G! You can now use iCall over 3G networks!!!”
I have nothing against what you did, personally. But please don’t claim things that are clearly not true: adding 3G is a major change to the functionality of your application.
According to Apple’s datestamp (last updated 30th November 2009), you did this without updating the application. iTunes currently allows you to change your iTunes description whenever you wish, so this was an easy change to make.