mumble-voip / mumble-iphoneos

Mumble client for iOS-based devices
https://www.mumble.info
Other
193 stars 79 forks source link

Headphone Remote #93

Open aDifferentJT opened 8 years ago

aDifferentJT commented 8 years ago

I have added the capability to do PTT from the headphone remote button.

mkrautz commented 8 years ago

Why close it? :)

aDifferentJT commented 8 years ago

I tried to test it again and it had stopped working, it has since resumed working so I'm working on the issue.

aDifferentJT commented 8 years ago

It appears to require you quit and re-open the app if you plug in/unplug the headphones.

aDifferentJT commented 8 years ago

That has hopefully fixed it, seems to be working in tests.

mkrautz commented 8 years ago

The thing about using the headphone remote for PTT is that it isn't allowed by Apple in the App Store -- at least last I checked.

Is this something you have investigated?

I'm not against having this in the tree -- I think it's great. But I'm we're going to have to limit it such that it is not included in AppStore builds.

Thoughts?

aDifferentJT commented 8 years ago

I am not an Apple Developer, I test using my Apple ID for free so unfortunately I have no way of investigating re the App Store.

I wouldn't have thought that anything is lost by submitting it but if it is rejected then I'm sure that we can limit it as you suggested, by a simple #ifdef

aDifferentJT commented 8 years ago

Here Apple say:

Don’t repurpose an event, even if the event has no meaning in your app. Users expect the iOS media controls and accessory controls to function consistently in all apps. You do not have to handle the events that your app doesn’t need, but the events that you do handle must result in the experience users expect. If you redefine the meaning of an event, you confuse users and risk leading them into an unknown state from which they can’t escape without quitting your app.

However I believe that Apple may well accept it if we turn the feature off by default.

mkrautz commented 8 years ago

Another problem is that Mumble allows other apps to play audio while it is running. So if you run, say, Music, and play music while on Mumble, you would expect the headphone remote control events to control Music, and not Mumble.

As I said, I think it's a nice feature.

And it would probably pass App Review. But then, we risk the app being suddenly pulled because it is mis-using API. Then everyone loses access to Mumble.

It's a tough position. I think we need to do more research about apps that use the remote control events in creative ways before I can take a stand on this.

aDifferentJT commented 8 years ago

I added a switch to disable this feature precisely to allow people to still play audio.

And if the app is pulled those who already have it downloaded don't lose it, it just can't be downloaded for a short while.

mkrautz commented 8 years ago

Regarding Apple pulling the app: it's true that the app will still be available to existing users, but it's still not an ideal situation.

I still think we need to do more research about apps that use the remote control events in creative ways before I can take a stand on this.

But I am not against including the feature for non-App Store builds. That's fine.

mkrautz commented 8 years ago

Sorry for letting this sit. I plan to review it soon.

ghost commented 7 years ago

I'm not sure if this truly qualifies as "breaking the user expectation", but an example of using the headphone remote in an non-standard way is with the Overcast podcast app, where you can skip forward/backward in a track or switch tracks by using morse-like presses of the remote button:

img_0316

I too am very interested in using this button as PTT. Hopefully Apple would be okay with having it as a non-default setting.

mkrautz commented 7 years ago

I think it's OK for Overcast to use the button in creative ways because it's a media player. In Apple's mind, it's a button for media playback.

wilsonlmh commented 7 years ago

@mkrautz However, headphone button is now working in Zello. https://support.zello.com/hc/en-us/articles/230750347-Setting-a-headset-PTT-button-for-iPhone

mkrautz commented 7 years ago

Interesting!

wilsonlmh commented 7 years ago

just a bit more fyi, TeamTalk also offer this feature in iOS. And, I just did some test, any iDevices newer than 5s and iPad mini 2 and iOS9 working fine.

ChristopherHaws commented 6 years ago

Lineapp Flux also has this feature. We really want this feature added to Mumble for iOS! 👍

danieldliveu commented 6 years ago

@mkrautz can you please please please review this ? thanks

stephensworld commented 6 years ago

I also need this feature. Please implement it. Thank you very much.