Your application cannot be added to the App Store because it uses iPhone volume buttons in a non-standard way, potentially resulting in user confusion. Changing the behavior of iPhone external hardware buttons is a violation of the iPhone Developer Program License Agreement. Applications must adhere to the iPhone Human Interface Guidelines as outlined in the iPhone Developer Program License Agreement section 3.3.7

The clause in the iPhone Human Interface Guidelines that this makes reference to is on page 59 of the current version of it:

Volume Buttons—What Users Expect

Users use the device’s volume buttons to adjust the volume of all sounds their devices can play, including songs, application sounds, and device sounds. Users can always use the volume buttons to quiet any sound, regardless of the position of the Ring/Silent switch.

Using the volume buttons to adjust an application’s currently playing audio also adjusts the overall system volume, with the exception of the ringer volume. (Using the volume buttons when no audio is currently playing adjusts the ringer volume.)

Some of you pointed out other camera apps that make use of the volume buttons for snapping photos. But Apple suspects that these slipped through the review cracks because the developers intentionally hid the feature from their app descriptions and screenshots upon submission, but then added info about them after their apps got approved. When Apple finds out about these incidents, they tend to crack down pretty hard on them, sometimes going so far as completely banning the developers from the App Store. So this is definitely not the smart way to go. Apple recently made a change where app screenshots are now “locked” for each version that’s approved. This helps prevent crap like this from going on in the future… but at the expense of honest developers who wish to fine-tune things between versions.

So while we’re disappointed with their decision, we’re at least happy that they’re being perfectly clear about the exact reason for the rejection and that they’re being consistent about it. I was told that overriding the volume controls is one of the most common reasons for app rejection.

Apple’s app reviewers tend to catch a lot of shit from people and the press but after speaking with them at length on this, I came away overall with a good feeling about the whole process. They’re just trying to do their job as best as they can, given the constraints they have, so cut them some slack.

What was suggested to us was that we file a feature request with Apple to provide a supported way to repurpose the volume controls. This is the official way for developers to suggest changes to Apple and we’ve done so many, many times in the past. Sometimes it’s taken over a year for a change to be made and sometimes things happen almost immediately. The great thing is that Apple’s constantly evolving the iOS SDK and almost everything we’ve ever needed has made its way into it. So we’re confident that it’ll happen… it’s just a matter of when.

Anyway, as far as the actual feature request goes, here’s what we submitted:

Title: Provide a way to allow hardware volume controls to be used for other purposes

Summary: We’d like to be able to use the hardware volume controls to be used for things besides controlling volume. In particular, for our app, Camera+, we’d like to allow the buttons to be used to control the camera shutter for taking photos. We’ve gotten many, many feature requests for this and would like Apple to reconsider its policy of not allowing the hardware controls to be repurposed and provide developers with an official, supported mechanism to do so.

Apple Bug Reporter ID # 8288022

If you’re a developer who has any need for this feature for your own apps, it’s in your best interest to duplicate it, so do that now. And if you’re not a developer but want VolumeSnap in Camera+, please continue to put pressure on Apple by sending them feedback on this.

So what’s next? We’re moving on for now and continuing to improve Camera+. The next version will include something that many of you have requested from us. It’s worth noting that that very something was made possible by us, in turn, requesting to Apple for an enhancement to the iOS SDK.

tap tap tap is a leading iPhone and iPad app developer and publisher.

We’ve been creating top-notch apps since the App Store first opened. Our apps are used by literally tens of millions of people in all corners of the world. A few of our favorite and most popular apps we’ve created are:

Bummer, was really hoping this feature would be approved! I tried the j/b app FastSnap which enables the volume buttons as a shutter for the stock camera app, but it doesn’t work with Camera+ unfortunately - any hope there?

It may be a good idea to include in the request that the feature would be Opt-in. As in, that user has to enable Volume-snap to use it, therefore reducing *loads* of confusion. I understand if users are confused with it enabled without choice, but it’s the users problem if they go unknowingly flicking switches they don’t understand.

Personally, I was kind of expecting the rejection, for the same reasons Apple gave you: As an user, I expect certain things to work in a certain way and eroding this (as it is done on Android with the back-button) leads to a degraded interface.

I wouldn’t put too much hope into the flash led precedence, as the flash isn’t a control.

Obviously I don’t know all the in’s and out’s of app development and would never try to reason with Apple … but it seems if the option to use VolumeSnap was an end-user option, then the idea of “user confusion” shouldn’t be an issue.

Example
VolumeSnap: On/Off
Note: by activating VolumneSnap, you are changing the action of your volume buttons to act as shutter buttons. This will keep you from changing the volume of your iPhone while Camera+ is the app in use. (or something like this)

Nice to see a reasoned report on a rejected app. It does seem to be the case that some developers too readily slam the app reviewers for, as you say, trying to do their job. It’s refreshing to see such a report.

Your reaction does you credit and I, for one, agree with your judgement and feedback.

I hope that Apple will accept that, for some apps at least, users can be credited with the intelligence to handle such changes.

well, from Apple’s persepctive they have every reason to reject it if it messes with the user experience on the hardware interface level.

BUT, what about trying it like this -> if the *problem* with this feature is user-expectation gets messed up, then resolve THAT issue and maybe try again?

Solution: include the feature, shipped with the feature turned off. if the user chooses to opt-in to the feature in the menu, then they’d know that the buttons operated the shutter (perhaps adding a small icon to the display while the feature is turned on as a visual reminder that the feature is enabled). This way you can’t use the argument that it’s interfering with the users-expectation of the hardware functionality.

just my 2¢, and best of luck to you guys, I’d absolutely LOVE to see that feature. I love Camera+ so much I have it on my iPad for re-balancing/cropping photos (even at iPhone resolution)

I’m an app developer for 2 years now and I also talked a couple of times with app reviewers. I confirm what John says. They really try to do their job as good as possible and when you ask to argument a rejection their logic makes perfect sense.

Personally, I have had enough with Apple and its freaky control of the iPhone product. It has been an OK experience, and there are many good apps that I purchased. However, Apple should give its users more credit (we are a fairly intelligent sort).

It seems that Apple is forgetting that this kind of behavior almost shut it down a couple of decades ago.

I cannot support a manufacturer who thinks that I cannot manage the 4 buttons on my iPhone. Once my current ATT contract expires, I will go a bit more traditional — the new Blackberry.

I think it’d be cool if the next version of the iPhone had a third button next to the volume buttons that was purely for API usage. It could have some relatively insignificant general use, but it’s primary purpose would be as an option for app developers to have a hardware button for whatever you need to control in the app they’re developing. Just a thought.

It’s funny to hear that Apple states that “using the volumen in a non-standard way may result in user confusion” when they make you press the power/lock and home button simultaneously to take a snapshot.
I mean, it’s easier to get your phone locked or your app closed when you press this combo instead of the desired result (snapshot) than trying to change the volume while taking a photo.
Furthermoe, you have to remember how many times and how long you have to press the button in your earphones to play/pause, go to next or previous song, answer or end a call (I’m still trying to end calls without looking to the screen).
Pressing a button in the upper right corner is so similar to take a photo with a “standard” camera that you don’t have to learn nothing about strange patrons of buttons.
As multi-purpose buttons are in fact the core of the iPhone, I don’t see any problem to add an extra feature to the volume.
Hope Apple change its closed mind. Parental control is for parents, not for companies. Dear Apple, let us decide what is “confusing” or “not appropiate”.

What about leaving the code in there without a means to activate it, then release a patch into the jailbreak community to turn it on. That way users know what they are getting themselves into. Would that somehow violate Apple’s policy?

I will have to agree with Apple in part on this because apps mis-use buttons all the time on my Droid, they are horrible. All of the buttons are mystery buttons because every app uses them differently. That said, I am with others in the “as an option, off by default” sentiment. I think if it was an option where the default use is default (like people using it as an iPod while using your app) then they don’t get a surprise when for seemingly no reason the volume can’t be changed.

Make it a hidden test-mode feature that can only be accessed within the plist file by the developer. Those of us with jailbroken phones can just flip the switch in a text editor. Regular App store customers will not have the feature, and it won’t be an issue.

Alternatively, if anyone knows of a Cydia app that turns volume controls into a shutter button whenever any camera app is running, please let me know.

Here’s your solution, make an accessory. Sell a button with a dock connector for $20. Apple will get the accessory licensing fee they love so much. Actually, you can make it really thin and add an entire row of camera buttons to the bottom of the phone. Zoom in, zoom out, take picture, etc.

Make it voice activated. Have a default or allow the user to train a specific command. Might suck for noisy environments. Otherwise, what if the buttons actually did change the volume and you just detect the event to trigger the picture? Or is that already how it behaved?

I’m leaning towards Apple on this one. I see usability issues that would probably really piss me off with using such a feature.

Which volume button would actually take the photo? If I’m listening to music in a background process and want to change the volume I’m stuck wrestling with settings in a different app that has control of the device. What happens when switching between apps? This sort of re-purposing isn’t reasonable in my opinion.

I think Apreche’s suggestion of a hardware accessory is a much better solution.

Other thing.. missing the geotags in the pictures taken with camera+. Now it doesnt put pictures in places in the photo - app on the iPhone.. this is a bit dissapointing since the gps location is given to camera+… Could you guys comment on this?? Bugg??

”[…] the developers intentionally hid the feature from their app descriptions and screenshots upon submission, but then added info about them after their apps got approved. When Apple finds out about these incidents, they tend to crack down pretty hard on them, sometimes going so far as completely banning the developers from the App Store.”

Uhm, is this some kind of a joke? You write an article that almost sounds nice to the App Store and the App Store reviewers, then explain what happens to developers who try to game the systemn then you do that exact thing?

If you’re thinking that what you did on Twitter will work by getting people to talk about you and your app, then I hope you’re wrong. I seriously hope you get banned from the App Store for doing this.

Rep. Pete King (R-N.Y.) introduced a bill in the House of Representatives that would ban camera phones from having a silent mode when taking a picture.
Oh, by the way…. Steve Jobs don’t like PORN… well? This silent camera is for sicko people like to take a snapped in children dressing room!!!!! PLEASE change the rules now!

“This helps prevent crap like this from going on in the future… but at the expense of honest developers who wish to fine-tune things between versions.”

So much for you being an “honest developer”. You snuck this feature in anyways, via a custom URL handler. How hypocritical! One day you make this blog post for sympathy, the next day you’re tipping off media outlets about “sneaking” the feature past the App Store reviewers! Jeez.

I love the volume shutter but am concerned at how this backdoor trickery actually works. I thought all apps were run in individual sandboxes and find it scary that visiting a link in safari can have any effect on an installed app.

Ever heard the term “never attribute to malice that which is adequately explained by stupidity?”

I don’t think the guys maliciously tried to sneak this past the approval process. I think they simply, foolishly didn’t remove all the code from their dev builds, hoping one day the feature would get approved, so that all they’d have to do is essentially flip a switch and everyone would have access.

I see it got pulled off the store once word got out about the URL trick.

Hope you guys have a build ready without the VolumeSnap code, ready to re-submit (and likely under extra scrutiny now). I know I can continue using my current version, but I’d love to see this app evolve and continue being the greatest iPhone camera app around.

I don’t buy, for a second, that the hidden VolumeSnap functionality is attributable to stupidity rather than malice. The whole blog post about accepting Apple’s rejection of the “official” version of this feature, and criticizing dishonest devs who hide forbidden features was just one big smoke-screen. It’s a shame such talented devs like TapTapTap are such hypocrites and liars

Just posted a request to Apple via your link. Fortunately, had a chance to grab Camera+ while it was on the App Store yesterday. The physical button feature (although hidden) was, in itself, enough to make me buy — but the rest of the features are also fantastic! I’ll have to be careful not to update the app until Apple has a change of heart.

With all the “transparency” and “honesty” going on around here, I’m really eager to see next month’s income report that covers the days (? weeks? months?) that Camera+ is absent from the store.

I love Camera+ and will continue to use it. To pretend that it’s no longer a great app or that VolumeSnap isn’t desired due to some hypothetical moral outrage is just ridiculous. But the hypocrisy in this case is just…wow!

And for those of you saying that this is something more attributable to stupidity than malice, you obviously haven’t experienced Macheist and connected the dots. This sounds exactly like something that Casasanta would do.

Of course the stupidity angle is a nice one and likely the one they’ll play up to Apple “See our blog? We were totally with you! We agree! It’s just a big oops! Oh yeah, ignore that cryptic tweet we threw up for 30 minutes hoping that the erudite masses would be able to keep their mouths shut…” But, the guys behind Macheist are anything but stupid. At least if you’re referring to intelligence level and not their current actions.

How about Camera+ having a Dev/Pro mode with some user-requested features available as an in-app purchase with plenty of warning? I think it would please all parties involved (Apple) and I would lay $0.99 for more functionality.
Thanks for a great app. I can’t wait for more updates.

Maurice - I don;t think that would work since in app purchases are still covered under the normal iOS developer terms. If it couldn’t make it into the normal app, it won’t make it into an in-app purchase no matter what warnings they included. The only way this feature will appear would be if Apple changes it’s developer terms.

Of course that presumes that Camera+ will be there - it’s been pulled.

@Joe: I wasn’t implying stupid in terms of intelligence, I was meaning it’s a stupid, or foolish thing to do. Why risk getting an app that has provided you with $500k in 2 months, booted from the store, and possibly getting banned entirely? That’s just a stupid move.

Which is why I don’t think they were intentionally trying to hide this from Apple. I don’t know that they even knew this was possible, because outside of jailbreaking, the apps are supposed to be their own little sandboxes, with very minimal interaction with other apps. If they did know it was possible, they certainly weren’t making it public, and for good reason. $500k in 2 months is nothing to scoff at.

The guy that tweeted it, that was malicious. He even said “get taptaptap banned from the App Store.” I assume he got fired, and tweeted that for retaliation.

Can they put it up on Cydia? Sure, but the last estimates I’ve seen put jailbreakers at about 10% of the iPhone market. $500k from a $2 app (or $1.40 after Apple’s 30%) is a little over 357k sales. That’s a tiny slice of the total iPhone owners, and moving it to Cydia just makes it an even tinier slice. They would either have to drastically raise the price to compensate for the smaller market, or there’s just no feasible way they could pay rent, much less anyone’s salaries. And seriously, regardless of how great the app is, would any of you be willing to pay $15, $20, or even $30 for this app when you’ve got the built in camera already, and plenty of free or cheap editing apps readily available? I know I wouldn’t.

No, they want to make sure this stays on the official app store so that it continues to get maximum exposure. Hopefully Apple will see this as a minor indiscretion, and agree to reinstate Camera+ and their other apps, as it looks like not just Camera+ got yanked over this.

You’re gonna have a looooot of angry customers if Camera+ returns without VolumeSnap.

Totally deserve it for being a hypocrite though. With this stupid marketing trick you essentially showed you don’t care about customers and EVEN the app itself. You only care about money, and the short burst in sales this thing resulted in. You were willing to risk the continued availability of the app now, and the satisfaction of customers in the future when it returns without VolumeSnap, all for a few dollars right now. You weren’t thinking ahead, you only cared about the sudden spike in sales this would result in.

@Jay, wake up man. They tweeted it themselves, and then deleted the tweet to cover up. And you’re ALL falling for it.

All apps can accept input from special URL handlers from Safari, it’s part of the SDK.

It’s a stupid geeky app-of course Apple rejected it. It WILL make for confusion and needing a hardware button for a camera is pedantic. This is purely an exercise in coding masturbation-doesn’t fit the iPhone model in the least-and doesn’t lend anything to the party. If you want to hack a mobile phone, go get a Droid. There’s a reason why iPhones are popular-it eschews nerdism and it has a strict interaction model. Its the device nerds love and hate all at the same time. It works so well because of its strict interaction method but nerdism dictates that they have an obscure “better” way to do things.

It’s stories exactly like this that are why I stopped buying iPhones. Said good-bye to my iPhone 3G in March and have been a much happier and more productive person since getting an Android smartphone. I still don’t understand why developers continue to subjugate themselves to the App Store … other than either a desire to make money and lose hair … or they’re just masochistic and like being told what & how to do things with a little whipping to spice things up.

Great - Now I have an App that will either never have an update again, or will but with a feature missing in the future.

The fact that you knew EXACTLY why Apple rejected the app, and then tried to pull a fast one and slip it past them was idiotic.

You should have realized from examples from the past….You do NOT play with Apple! They will win 100% of the time!

So now your loyal customers may never see an update for an app they have payed for again.
—-

Seriously, though - The joke is on you guys. Probably everyone knows about this now since tech blogs have been covering it. What about everyone who still wants the app? Most will just jailbreak and get it pirated. Then, *if* your app returns to the App Store, most of those users will never purchase the app. So just think of all the sales you will loose.

I really liked the idea of being able to use the control on the headphone to snap. It was like old school remote lanc on my Pentax. no camera shake and easy.
And more to the point hard to confuse the functionality.

Apple need to select a button, such as the “play” button and enable in the IOS. Play=go=snap in my book. Then they will need to pay Taptap in recognition that the idea was theirs to begin with. Either this or identify a particular button as developer accessible.

Hi, My name is Von, and I have been an Apple addict since 1985… (pause for applause and hi’s). Still loooove it, can’t shake loose. This monkey is staying on my back despite the refusal to let early iMac owners screen-span, despite the obvoius idiotic money sucking motives behind leaving a camera out of the iPad, despite not letting iPad and iPhone owners extend their memory by adding a slot, instead charging 100 bucks for something that would cost $25. I am at the mercy of his Steveness. The man who can do no wrong and I will continue to be just that, at the mercy. I think the app in question got the boot because Steve didn’t think of it first. Try and take a pic the way it is now with your thumb, portrait mode. One hand, focus, steady, snap… Camera+ made it better. If Steve has any marbles left, buy Taptaptap (everything is for sale at a price and apply changes. Rinse and repeat with other smart solutions. Don’t just sit there and be grumpy and for gods sake, let the app back in the store!

The Silence is deafening!!!
Where is the Camera+ App that I paid for!!!?? for the sake of the customers who helped you make a living by purchasing your APP, you need to re-submit the Camera+ app to Apple, minus the “VloumeSnap” feature.
Camera+ is probably the best photo App in the App Store!
You need to play the game like everyone else, kill the VolumeSnap and re-submit!

I don’t care if there’s no VolumeSnap, I just want to use this app NOW. Finally I find a decent camera app for a decent price and then it gets pulled out from the app store - if they don’t want VolumeSnap, why don’t you just take it off and submit the app back to the store, because there’s a LOT people who want this app to their daily use. I’m one of those.

After getting a hold of the new iPhone I couldn’t wait to try Camera+, so I also was confused when finding out it had been pulled from the AppStore.

What adds to the confusion is the fact that both @taptaptap and @mostlylisa have seemingly disappeared as well. I hope they come out with a statement soon.

Despite the situation not being clear, I went ahead and sent an email to apple, asking them to consider re-adding Camera+ to the AppStore. If someone else likes to do the same, you can do so at: http://www.apple.com/feedback/

I have an iphone 4, and i am really impressed.
But there is one thing which could really be improved:

the missing hardware shutter button for photos!
i would immediately purchase the now rejected app “camera+” which used the a volume button for the shutter, but it is not avaliable any more - because it was taken down by apple!

the camera is great, for stills and for video - so please consider allowing the use of hardware buttons for operation of the camera.

i think it should work like this:

1. an option to use “silent mode”, “+” and “-” for the camera

2. turn on camera with “silent mode” switch
3. press “+” to take a still
4. press “-” to start/stop record a video

this would be an really impressive minimal style snapshot camera with only three buttons!

Why not, for now anyway as a workaround, get together with the guys who make Camera Buttons for jailbroken iPhones (allows volume snap on native camera app, and camera launch from sleep) so that their mods can be selected to work on camera+ as well?

The fashion you submit make sure it is actually all to easy to undergo. Combined with the idea you use, wonderful. It is really an extremely good mixture. That i’m questioning things that are usually the actual formatting you have?