PinePhone keyboard usability: no phone ring with headphones
#1
Exclamation 
I've been trying to nudge various developers to what I think is a larger upcoming problem with PinePhone keyboard usability once people get it: there is no phone ring with headphones plugged into the audio jack.

This I think will lead to the following conflicting situation:


  1. To hear the phone ringing, the headphones need to be unplugged (due to this limitation).
  2. To take the call in a PDA form factor like the keyboard, the headphones need to be plugged in - ideally in advance, because it can take some seconds to untangle and plug them in which could cause a missed call.


I think that's bad, and so far no distro seems to have pushed to look at this some more. Given the keyboard will release soon I'm posting it here, hoping maybe it gets interested eyes on the problem. Here is the ticket for feedbackd, which I've been told does the phone ring: https://source.puri.sm/Librem5/feedbackd/-/issues/39
Away
  Reply
#2
Your proposed behaviour runs counter to the more common use case - using headphones in a location where you don't want to disturb other people with your phone call. I can see an argument for adding a config option to cover this behaviour, but your proposal shouldn't be the default.
  Reply
#3
(10-24-2021, 03:49 AM)wibble Wrote: Your proposed behaviour runs counter to the more common use case - using headphones in a location where you don't want to disturb other people with your phone call. I can see an argument for adding a config option to cover this behaviour, but your proposal shouldn't be the default.

edit: reworded more neutrally

What I describe is the default on Android, so what you say is apparently not the more common use case. I'm not discounting it as invalid, just saying pretty much all smartphones work differently. I think people with your use case just use vibrate only ringing, not headphones to mute any external ringing - since that doesn't mute it on Android. In any case, I personally don't really care what the default is if there's an easy option to change it. (While the default question is kind of secondary until the behavior is available at all which on Linux/Phosh it isn't, I think however mirroring Android makes more sense as a default, but I have no super strong opinion on this.)
Away
  Reply
#4
(10-24-2021, 03:49 AM)wibble Wrote: Your proposed behaviour runs counter to the more common use case - using headphones in a location where you don't want to disturb other people with your phone call. I can see an argument for adding a config option to cover this behaviour, but your proposal shouldn't be the default.

i encountered this behaviour in android (some version), i wondered it. i usually have a habit to leave headphones plugged.
  Reply
#5
(10-24-2021, 03:49 AM)wibble Wrote: Your proposed behaviour runs counter to the more common use case - using headphones in a location where you don't want to disturb other people with your phone call. I can see an argument for adding a config option to cover this behaviour, but your proposal shouldn't be the default.

The main reason I use headphones is to better be able to hear the phone in a noisy location, particularly with the Pinephone since the volume out of the earpiece seems a bit low. I don't know about the other distributions but an annoyance with Mobian currently is you have to first make the call then plug the headset in or the microphone doesn't work.
  Reply
#6
(10-24-2021, 06:59 AM)Zebulon Walton Wrote: I don't know about the other distributions but an annoyance with Mobian currently is you have to first make the call then plug the headset in or the microphone doesn't work.

That also sounds bad! I wish basic things like phone ringing and microphone just worked as expected with headsets (and by that I mean like on Android at least as an option), I honestly don't know how else people will practically use a PDA-like keyboarded PinePhone. It's frustrating that it so almost works, but then these minor things added up make it difficult.
Away
  Reply
#7
(10-24-2021, 04:30 AM)e1337 Wrote:
(10-24-2021, 03:49 AM)wibble Wrote: Your proposed behaviour runs counter to the more common use case - using headphones in a location where you don't want to disturb other people with your phone call. I can see an argument for adding a config option to cover this behaviour, but your proposal shouldn't be the default.

edit: reworded more neutrally

What I describe is the default on Android, so what you say is apparently not the more common use case. I'm not discounting it as invalid, just saying pretty much all smartphones work differently. I think people with your use case just use vibrate only ringing, not headphones to mute any external ringing - since that doesn't mute it on Android. In any case, I personally don't really care what the default is if there's an easy option to change it. (While the default question is kind of secondary until the behavior is available at all which on Linux/Phosh it isn't, I think however mirroring Android makes more sense as a default, but I have no super strong opinion on this.)
On all the Android phones I've had so far, including Nexus 5x and Pixel, if the headphones are plugged in then by default the phone ring notification happens through the headphones instead of the speakers - there is no external ringing although the vibrate motor may be audible. 


Since the speaker and the headphones share the same DAC on the pinephone we can't separate the ringtone from any other audio. Then again if you aren't wearing the headphones you probably want everything going to the speaker (or both?) anyway don't you? This used to be achievable by switching the audio profile from headset to speaker after the headset was plugged in - I haven't checked recently so perhaps there's a regression? If that's the case then it's more that you need more configuration about the general audio profile switching logic and less about the notification from feedbackd or wherever. I haven't tracked down what's responsible for audio profile switching, or how the user can add or change profile settings.
https://xnux.eu/devices/feature/audio-controls.svg
  Reply
#8
Quote:Since the speaker and the headphones share the same DAC on the pinephone we can't separate the ringtone from any other audio.

You're saying the hardware can't output audio on both speaker and headphones at the same time? Or just not different audio? In case of the latter it might still be feasible, e.g. by muting other audio streams during the ring itself and only briefly outputting audio through both for the duration of the actual ring sound.

Quote:then by default the phone ring notification happens through the headphones instead of the speakers
On my Android 8.1 device it happens through both, headphones AND speakers. Maybe if you wore the headphones at the time, you didn't notice the external ring despite it being there too? Not saying that is for sure what happened, just wondering.

Manual profile switching doesn't really seem relevant because one would need to switch it back for the call which again takes time. (With the new PDA form factor at least.) The entire point of my initial complaint was it's unnecessarily impractical to answer/take calls in time if you need headphones, so with that it seems like that wouldn't solve anything.
Away
  Reply
#9
(10-25-2021, 10:07 AM)e1337 Wrote:
Quote:Since the speaker and the headphones share the same DAC on the pinephone we can't separate the ringtone from any other audio.

You're saying the hardware can't output audio on both speaker and headphones at the same time? Or just not different audio? In case of the latter it might still be feasible, e.g. by muting other audio streams during the ring itself and only briefly outputting audio through both for the duration of the actual ring sound.
Just not different audio - see the diagram I linked which is in Megi's rundown of the audio stuff. Muting other streams will need some interesting logic to work out what should and shouldn't be muted - I don't think we have a suitable API for that. Another possibility is making applications phone-aware (listening to ModemManager or oFono dbus messages) so they can behave appropriately when there's a call, say by pausing when there's a call pending and resuming when the call is dropped.

(10-25-2021, 10:07 AM)e1337 Wrote:
Quote:then by default the phone ring notification happens through the headphones instead of the speakers
On my Android 8.1 device it happens through both, headphones AND speakers. Maybe if you wore the headphones at the time, you didn't notice the external ring despite it being there too? Not saying that is for sure what happened, just wondering.
I checked - partly because back in the openmoko days the audio did sometimes go to the speakers when it wasn't meant to, and partly because when the audio hardware started failing on the Pixel it would actually have been useful to have it behave as you describe. The earpiece and mic became unreliable but the speaker and headset usually worked, so having the headset plugged in but hearing the ring on the speakers would have been good.
(10-25-2021, 10:07 AM)e1337 Wrote: Manual profile switching doesn't really seem relevant because one would need to switch it back for the call which again takes time. (With the new PDA form factor at least.) The entire point of my initial complaint was it's unnecessarily impractical to answer/take calls in time if you need headphones, so with that it seems like that wouldn't solve anything.
Something (probably the call app) switches audio profiles when you answer the call anyway. Unless they've taken the shortcut of assuming the headset audio profile is always active when a headset is plugged in, it should already switch to the headset profile when you answer the call. If it doesn't already work correctly it should be an easy fix. The bigger irritation may be at hang up - does it return to the audio profile that was active before the call started, or to an assumed one based on the headset presence?
  Reply
#10
Quote:Muting other streams will need some interesting logic to work out what should and shouldn't be muted - I don't think we have a suitable API for that.

I mean I can easily do it in the gnome control center audio settings, so surely feedbackd itself for example (the daemon that emits the audio ring, so it'd know what its own audio stream is) could do this. I think anything with the apps acting voluntarily to mute is doomed, there is just too much software out there that'd never be fixed to react to it.

Quote:Something (probably the call app) switches audio profiles when you answer the call anyway.

Right, I was only referring to manual switching. But I think the key problem is feedbackd would also need to send audio on two devices, so just switching the profile alone probably wouldn't work. Most lower level userspace audio playback libraries allow using & feeding multiple audio devices at once though, so it's not impossible.

Basically, the main hold up seems to be that nobody cares about the use case. But I think with the PDA/pinephone keyboard form factor this is a really essential thing. This is why I made this forum thread, it's just frustrating to see it so dismissed (and apparently not mainly due to man power, but "this isn't even a valid use" reasoning).
Away
  Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  Slarm64 on PinePhone [Unofficial Slackware ARM - 64 bit] acid andy 19 4,633 01-19-2022, 03:03 PM
Last Post: acid andy
  HowTo: Get a passcode from DUO Mobile working on the Pinephone kop316 2 1,136 01-16-2022, 03:46 PM
Last Post: michel_luc
  Amazfish on Pinephone pagesix1536 8 3,371 01-12-2022, 10:30 AM
Last Post: johns
Video PinePhone "click" or "tic" GrapeJuice 2 146 01-10-2022, 02:39 PM
Last Post: GrapeJuice
  Common Lisp on the PinePhone duncan_bayne 2 1,844 01-08-2022, 12:13 AM
Last Post: duncan_bayne
  Jami on the Pine phone ? bcnaz 6 1,069 01-05-2022, 10:43 AM
Last Post: Fish
  Fedora + Phosh for PinePhone njha 71 59,411 12-31-2021, 06:34 PM
Last Post: Alho
Bug My experience running desktop Linux on PinePhone Subsentient 5 534 12-31-2021, 05:41 PM
Last Post: Subsentient
  DFinity IC OS on Pinephone quasimotoca 0 84 12-31-2021, 03:17 PM
Last Post: quasimotoca
  Latest firmware for PinePhone modem! Subsentient 81 55,191 12-31-2021, 08:23 AM
Last Post: bcnaz

Forum Jump:


Users browsing this thread: 1 Guest(s)