In a mobile app, I have a section which contains a short form to let people contact me. They are able to write their name, email, company, and the reason they want to contact me. I happen to automatically get the email from the accounts information, so that's prefilled. I also add before field, a button so that the user can send me an email instead.
However, I've thought... what could I do when the user's not connected? In that case.
I've thought I could tell them they're without connection, and keep in memory the fields they filled, so the next time they enter the form, the info's still there and they can try it again and, in case it happens twice more, (that is, they hit [Send]
three times without success), the app should pop a modal, telling that it couldn't connect some times, and give the chance to send all the prefilled information through email. That way, I'm releasing the issue of keeping a background task fetching for connection and trying to send it when I can, draining battery on the go.
However, despite I thought this process, it still seems a little old school to me. Would you present it in another way? Let me rephrase the process:
- On open, the user chooses to send an empty email with a prefilled
To
andSubject
. - The user fills the fields he wants and hits
[Send]
- On enquiry sending:
- If the enquiry is correctly sent, the fields are emptied, and a subtle success message is presented.
- If not, the data is saved for the next time the user wants to send the enquiry
- In case it fails 3 times for the same enquiry, it proposes the user a modal to send the enquiry through email, instead, with a prefilled
Content
,Subject
andTo
.
- In case it fails 3 times for the same enquiry, it proposes the user a modal to send the enquiry through email, instead, with a prefilled