Kiwix-android: Android Global Crash Reporting (using Email)

Created on 19 Dec 2017  路  20Comments  路  Source: kiwix/kiwix-android

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:
screenshot_2017-12-15-12-07-06
screenshot_2017-12-15-12-07-54

This thread is about the mode of transport we use - email

Pros to using email:

  • It's already implemented
  • It's easy to maintain
  • It's entirely transparent (users can see exactly what information we're collecting)
  • Users can edit with as much detail as they would like
  • We get control over which information we collect (compared to Crashlytics and ACRA)
  • Emails could go to to a shared Google Group
  • The retrying etc. is already implemented

Cons to using email:

  • Could get false data sent to us
  • Could get spam/abuse from people who find the email address
  • Not anonymous
  • It's different to how most apps implement this

My personal view is that we should go ahead with email, but consider changing it going forward.

Source Email Thread:

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?
enhancement

Most helpful comment

Email box created and credentials communicated to @ISNIT0 @julianharty @mhutti1

All 20 comments

@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

Was this page helpful?
0 / 5 - 0 ratings

Related issues

danielzgtg picture danielzgtg  路  4Comments

chstdu picture chstdu  路  6Comments

asereze picture asereze  路  4Comments

Frans-Lukas picture Frans-Lukas  路  3Comments

kelson42 picture kelson42  路  6Comments