Those of you who happen to follow me on Twitter might have heard a while back that I tried releasing a camera app for the iPhone, which simply allowed you to overlay arbitrary images as guides over the camera.
Unfortunately it was rejected last month because of the following criteria:
"3.3.1 Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs."
Which to me was extremely annoying. Until you get rejected for something as arbitrary as this, I don’t think one truly understands how frustrating it can be to have a weeks worth of work flushed down the toilet.
My objections to this were as follows. All the API’s I used were documented. I simply made a UIImagePickerController, a UIView and overlaid it on top of the camera view. The only potentially problematic thing I did was to check for the presence of the TPCameraPushButton in the view hierarchy (again, a public api) to see when the overlay should vanish.
This check was written in such a way that if the class name of the camera button changed in a future release, the overlay would just stay visible all the time.
But no, apparently I didn’t use the API correctly “in the manner prescribed by Apple”. Thus no camera app was released.
Now I would have just left it there and waited until Apple made a nice API for me to properly overlay images over the camera (if ever), but what do I find posted on tuaw today?
Yes, a camera app which overlays images on the camera. But not only that, it completely modifies the camera, and what’s more, it was both updated and approved well before and after my application.
(Note that I did not know about this particular camera app before I made mine. In addition it doesn’t appear to allow custom overlay images, one of the features of my app)
I guess it’s ok to make a camera application which completely modifies the camera UI. But if you just overlay images and check to see if the camera button exists then no, that doesn’t utilise the API in the manner prescribed by Apple.
So I have a challenge for you iPhone Developers out there. I have released the sourcecode to my ill-fated camera app, OverTheCam, under the GPL. Your mission, should you choose to accept it is to get it approved by Apple.
I’m going to award points based on :
- How much of the app you need to change to get it approved.
- How many “Camera Genius” UI enhancements you can get away with
- How long it takes to get approved
- The alternate name you pick
Additionally entries designed for any version of the OS later than 3.0.1 will not be counted. I’d also like to point out that you’ll also need to change the name of the application when submitting, for obvious reasons.
So what are you waiting for? Grab the code here on github and get submitting!