RocketChat / Rocket.Chat.ReactNative

Rocket.Chat mobile clients
https://rocket.chat
MIT License
2k stars 1.17k forks source link

Voice Messaging needs much more care #3346

Open jacotec opened 3 years ago

jacotec commented 3 years ago

Description:

Audio (Voice) Messages are an important feature in all messaging services. Unfortunately I see no care to any bugs related to this in the last year.

I've opened a couple of issues with partially breaking issues and it seems the RC team is not interested to at least fix this. I've got a use case of >40% of audio messages and users are - open speech - pissed that all the issues are still there.

In Detail:

Matrix/Element as well as Nextcloud Talk introduced Voice Messaging in the last weeks and even in the first implementations it's much better than in RC. Element's UI is like WhatsApp, in both solutions the length is correct, playback continues when the app runs in background, the smartphone is not falling asleep etc.

What is the plan / roadmap regarding voice messages in short term (this year)? @diegolmello mentioned months ago the UI should be reworked also in a way like WhatsApp - but nothing happens, even serious issues are not ironed out.

aleadco commented 3 years ago

On several occasions, errors related to voice messages in mobile applications have been reported and a solution is not displayed in this regard. A large percent of my users cannot reproduce the messages satisfactorily, they have to restart the app many times. The other big problem is related to the app cache. The audios are not stored in correctly and whenever you have recent messages it tends to reload each time you access the conversation or channel ...

diegolmello commented 3 years ago

Yes, that's something we've been working with our design team the past weeks. We plan to apply gestures (long press, swipes) to record audio. However, since we'll be touching on a vital component, we're redesigning it to make the UX more clean. This whole work will take some time to do, but it's going to be started probably on the next sprint. Thank you.

jacotec commented 3 years ago

Sounds good, Diego! I'd appreciate if - in case some of the bugs are fixed independent from the big UI rework - the fixes will be released even before the "complete package". It does not sound like we'll see the full picture within the next release.

diegolmello commented 3 years ago

Sure. Can you list the issues in order of priority in your opinion? Depending on the effort of each one we can make sure the most annoying bugs are fixed first.

jacotec commented 3 years ago

In my opinion and the opinion of my users I'd priorize it like that:

  1. 2779

  2. 3002

  3. 2586

  4. 2578

3078 is pretty annoying too, but I think as the UI is redesigned this will be covered by the UI rework.

As you see the priority is first to address all issues where recordings can be unrecoverable lost. Playback fixes / improvements are annoying users as well, but at least they don't lose minutes of recording.

However, #2586 also covers an issue that the length is not displayed at all (and scrubbing / playback does not work properly because of this) when filesystem is selected as a storage, which forces to use grid FS. A positive side effect of a fix would be that the file system can be used if this is fixed.

jacotec commented 3 years ago

@diegolmello Just found out that messages recorded in the web client are shown correctly regarding their length in the mobile apps. I think it's worth to change the recording format from .aac to .mp3. That doesn't cost more storage and bandwidth, will be par with the web client and I think it fixes most of #2586 (not sure if the file system issue will be gone as well then).

What do you think?

jacotec commented 3 years ago

I'm playing around with this and I'm pretty convinced I may have a fix for #2586 ... let me test a bit more and I'll make a pull request.

jacotec commented 3 years ago

@diegolmello I should have fixed #2586 and #2578 with #3373

diegolmello commented 3 years ago

@jacotec we'll take a look. Thanks for your contribution.