Context:
At the recent UK hackathon, the branch ISNIT0/crash-handler was created. This implements a new Activity which is opened instead of a fatal app crash. It asks the user what information they would like to supply the developers (if any) and then opens an email client (using an Android intent) with pre-filled information.
The current implementation looks as follows:


This thread is about the mode of transport we use - email
Pros to using email:
Cons to using email:
My personal view is that we should go ahead with email, but consider changing it going forward.
Attached are some screenshots of the flow Elad and I have got so far for when the app crashes un-recoverably.
After spending a lot of yesterday experimenting with Crashlytics and ACRA, I've come to the conclusion that they're not flexible/configurable enough to allow for fine-grained control of what information we collect.
The current implementation (ISNIT0/crash-handler) opens an email app locally with a filled in email body (based on previously selected items) and logs attached.
I think the email gives a lot of transparency over what information is being sent, and for now is probably a good way of collecting the information (if someone doesn't want to give their email, they don't need to submit feedback). Email will also wait until the user is online and send then.
What're your thoughts, have you any specific suggestions or objections?
@ISNIT0 Sorry for the delay in my answer. This looks promising. The problem is that you need a way to send the feedabck per email in a secure way (no open SMTP server, no password hardcoded in app). Have you plan? Does Google do not provide an integrated way to gather this kind of "customized feedback"?
@kelson42 afaik you can achieve that using Google Firebase, but on the other side it wouldn't work if the user has no Google Apps installed, which tends to happen often nowadays.
@divadsn interesting. I'm not so concern about that as 99% of our user download the app through the Play store. I'm more concern about other privacy violoation that might imply the usage of Google Firebase.
The suggestion here is that it uses people's personal email provider (opens their email app), so everything is transparent etc. No hidden analytics/email sending from us
And we could create a google group type email address which receives all the messages
@kelson42 I think you can set up a "magic email link" that will autopopulate the data and will open in the users email app that they can then send.
This code just uses Android intents
@ISNIT0 @mhutti1 OK, if you want I can create a mailbox @kiwix.org and give you the credential. That way we could quite easily go ahead on this.
Yes please - do you think it should be "feedback"@ ?
maybe a bit more specific like android-crash-feedback@ ?
I was thinking it'd be good to keep it friendly and easy for anyone to submit private feedback anyway?
If it's super specific, people might not want to submit other, custom feedback.
@ISNIT0 yes, but we have already [email protected] and I do not want to mix this kind of "special reports" with more traditional ones.
Okay - sure, android-crash-feedback then :)
Email box created and credentials communicated to @ISNIT0 @julianharty @mhutti1
@ISNIT0 It seems the code has been merged for this!? Can we close that ticket?
@kelson42 I don't think it has been merged yet. Still some build issues - I'll look into it this week, then we can close all 3 of these issues 馃憤
Considering that nobody works on this and seems to really want to push this I propose to abandon that task.
This was actually merged a while ago, clearly I forgot to close this issue 馃し鈥嶁檪
https://github.com/kiwix/kiwix-android/pull/351/files
Well if that is the case then I will close this issue
Most helpful comment
Email box created and credentials communicated to @ISNIT0 @julianharty @mhutti1