Coming Soon to Pastebot: Music in the Background
tapbots.com
tapbots.com
I'm actually kind of glad the silent version wasn't approved, though. As logically strange as having to play music while using clipboard sync is, having another music app interrupt that sync is almost worse.
I'd rather Tapbots had gone the Task Completion API route, where they can run whatever they want in the background for ten minutes (what the Colloquy IRC client uses). That kind of functionality has an intuitive, physical analog in timed light switches; one can't say as much for a light switch that requires the stereo to be playing.
Apple really needs to increase that time limit, though.
Unfortunately there just isn't a nice way for Pastebot to do what they want to do. It's one of those edge cases where none of the available options for multitasking are useful. They're doing the best they can, but this is still a really hacky solution and I wouldn't depend on it staying in the App Store.
They might only allow general purpose multitasking if it’s off by default and the user has to explicitly opt-in. They might add something in their settings app where you can turn turn general purpose multitasking on and off for each individual app which uses it. They might reject all apps which use general purpose multitasking when the dedicated methods would do, too. They might reject all apps which use general purpose multitasking without providing any functionality to the user. They might require all apps which use this general purpose multitasking to have some gracious failure mode if memory really gets low and the app has to be quit. (I’m not so sure about this last one. You would have to notify the user because otherwise the experience would be terrible, i.e. suddenly and without any apparent reason or warning Pastebot would stop to work. But adding a modal dialog would also lead to a terrible experience, they would have to make it more subtle which in turn can be easily overlooked. How does Android handle this?)
You don't really believe that do you? You can't honestly tell me that it's easier to explain to a user that they have to play a silent audio clip to have an application keep working when it's not visible. And you can't tell me that for <any multitasking app>, it's easier for the user to use because it can only work in the background if its a short potentially volatile task, a location or audio service. How is that 'easier' for the user?
Well luckily the iPhone has a very long audio playback on it's battery I guess!
Just last week there was an article on HN about a guy who got rejected for using the VoIP background API for an IRC app. Which actually is bending the rules a lot less than playing a silent audio file on loop in order to claim to be an audio client.