unee-t / frontend

Meteor front end
https://case.dev.unee-t.com/
GNU Affero General Public License v3.0
9 stars 17 forks source link

Allow users to sign-up / invite others by phone number #527

Open nbiton opened 6 years ago

nbiton commented 6 years ago

I guess many users who are used to communicating about their property over Whatsapp will find it hard to switch over to Unee-T, as they don't have the email addresses of all the people they are used to communicate with. Allowing using the phone number, at least for invitations, will remove a lot of friction from the process onboarding new users.

franck-boullier commented 6 years ago

@nbiton that would be a great feature yes.

There are some minor issues with that

Apart from that I agree we'll need that feature in the future

franck-boullier commented 5 years ago

@kaihendry how complex will it be to have a solution to send SMS notifications for these invitations? @kiatlim can you help us designing the flow for that scenario (we invite a user via SMS instead of email)?

kaihendry commented 5 years ago

It's straightforward to send an SMS from AWS. Though there are so many little limitations wrt encoding and limits that, ultimately I feel it's a total PITA / waste of time.

aws --profile uneet-dev sns publish --phone-number +65xxxxxxx --message "hello from Unee-T dev"

Handling the edge cases of a user account with just a phone number will be quite tricky and not worth dealing with. I would prioritise account Google logins instead. You need a Google login to use an Android phone for example.

franck-boullier commented 5 years ago

It's straightforward to send an SMS from AWS

OK thanks.

Though there are so many little limitations wrt encoding and limits

That should be manageable since we will totally control what we send. We can decide to only send minified URLs via SMS for example. User receives the SMS and clicks on the link et voila...

Handling the edge cases of a user account with just a phone number will be quite tricky

Not necessarily... An idea would be to create a email for the users who just have a phone number in their profile. That email will be used to forward critical messages (like password reset for instance) to the phone number for that user via SMS. We'll only have to maintain a mapping between the auto generated email @case.unee-t.com and the phone number for that user.

ongdominic commented 5 years ago

We can add this additional field to the invite page. After that, the user will receive an sms with the minified URL so create an account or log in. Does this mean we will need to store and show the user's mobile number on their profile page also?

https://www.figma.com/file/SgLcXdmBih1JxVq1lupMiPtr/Unee-T-Designs?node-id=1657%3A216

screenshot 2019-01-22 at 2 39 03 pm

nbiton commented 5 years ago

That seems to make sense to me, but I think it would be better if it's clearer to the inviting user only one of these, maybe there should be a switch or a prompt for selecting whether email or mobile number will be filled and then only showing only a single field depending on the choice, instead of having 2 fields like in the design above

ongdominic commented 5 years ago

Yup. you are right. I have done the adjustments. I don't think there will be a use case whereby you want to invite by both email and phone.

screenshot 2019-01-22 at 4 02 36 pm

franck-boullier commented 5 years ago

Trouble with this display is that the invitation by phone number is "hidden" in the drop down.

screenshot 2019-01-22 at 4 02 36 pm

We should make both option as obvious IMO. Maybe we can use radio buttons instead?

ongdominic commented 5 years ago

Yup screenshot 2019-01-22 at 4 39 11 pm screenshot 2019-01-22 at 4 39 21 pm

kaihendry commented 5 years ago

Made an email2sms demo to demonstrate how we can implement the sms sending via an existing email implementation. It's disabled right now to prevent abuse.