I'm developing an app that will target almost every segment of the general population and the login will be done with the user email. My question is, should I absolutely allow a user to change his email address?


Is any data connected to the login account? Then yes. People want to keep their stuff when they change email just like when they move houses.

Is there no data connected to the login account? Then why have a login at all?

| improve this answer | |

The e-mail address is a way for you to notify/warn/inform users outside their account. If users prefer to use a different address for that kind of communication, let them change it. So from UX perspective I would call it essential.

For accounts that use an email address as login name you can give the option to add antoher e-mail address for notifications etc.

| improve this answer | |
  • 1
    I agree with this. It's frustrating to re-register for something when you change your e-mail address. You could however require that an e-mail address is unique in your app (so no 2 users can have the same e-mail address). – Gerrit Bertier Nov 17 '15 at 14:46

Assuming that the Email id is the primary source of account confirmation/communication, IMO..

  1. Let your user add Secondary email ids (as in Facebook/other products) they may own but ask them to verify the id before permanently adding the same in the master DB.
  2. Let the user change the Primary email id with a Secondary id iff the Secondary id is verified and is not used by any other account. This will ensure that the ids are not misused.

I think this will ensure that both the frontend and the backend are kept clean/tidy.

| improve this answer | |

Use email for sign-in not database ID

Good thing: Allowing users to sign in with their email rather than an arbitrary user name.

Bad thing: Hard-coding that address in the database as the unique identifier.

The email should just be a property of some GUID in the database. If the user changes addresses or decides to use an alternate as their primary, don't let your system architecture stop them.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.