I had a small letdown yesterday. Sent a Meshage and got a delivered confirmation, but unfortunately, the receiving iPhone decided that it was a good idea to drop the background process, leaving me with a confirmation and the recipient not knowing about a new message. Wasn’t a big deal, and it’s not goTennas fault. These phones nowadays are getting too comfortable with killing background tasks to make up for bloated software (Android on my Z Play takes up 8 GB).
I was curious, if for after the 5.0 release, some clarity could be added to the delivery confirmations whether the message was received to the Mesh unit (paired but disconnected, as was my case) or delivered to the phone (paired with a live BLE connection).
With this, when a Meshage is sent (MeshMS was taken by the Serval Project) to someone, the confirmation could have an outline of a phone to show that the app got the message. If a unit is paired but disconnected, it can respond a delivery confirmation and show an outline of a Mesh unit instead on the sender’s phone. Since closing the app drops the BLE connection, I would think pulling a connection status in the Mesh firmware would be enough to pick app confirmation vs. device confirmation.
I don’t think read receipts are necessary or even practical in our use case, but knowing if the other person truly received the message could save a lot of aggravation.
I really like this idea! It would certainly be helpful if we could indicate that a message was received by the GID, but stored on the Mesh rather than received by the GID and displayed in-app. I’m curious how often you (or anyone) see this happen. Was this a first time occurrence for you? Do you experience this regularly? Maybe instead of a feature build, we could resolve this by surfacing more information about how Mesh will store messages until your phone is re-paired.
WhatsApp does something similar. One grey check means sent but not received turns green when received? Then 2nd check when received in app but not viewed is grey, then turns green when viewed in app. I may not have it completely right but you can download WhatsApp and see how they do it. Works really well. I use it all the time to see if the person has seen the message or not. Lets me know when I need to phone them if it is urgent.
I’ve had this happen with other messaging apps such as Telegram. What happens is that the phone kills the process if you open a bunch of other apps in between having the goTenna app open. This is apparently done for memory management by the phone OS. As soon as I re-open the goTenna app after realizing it was killed by the OS, which starts cold, it reconnects and brings all stored messages in.
I don’t know much at all about how apps are designed, but if something could be set to keep the phone from applying memory management to the app, that should resolve the issue. It must be possible as some stock apps, such as phone and messages, stay alive all the time (how else would you receive SMS and calls realtime, all the time?).
This issue is with the phone, not really with anything related to how messages are handled by the goTenna. I’ve now had this happen on both iOS and Android.