Don't use email addresses as user IDs
It should be a given that people change their email address occasionally, and so using an email address as a unique user identifier is a bad idea - but nevertheless I've seen programmers do this on occasion, and I was reminded of this today when I contacted Tradeshift (an otherwise good invoicing startup) about why I couldn't change my email, and got the reply that email addresses were being used as user IDs, but "we're working on a different solution so that in time it'll be possible to change your email address." Hmm...
(Note: There's nothing wrong with using email addresses for log-ins, i.e. letting users enter their email address and password when they log in. But there should always be some sort of other unique user identifier (typically an integer) so that users may change their email address without breaking any database references).
12 comments
[ 5.0 ms ] story [ 37.0 ms ] threadAlthough it can often mean that you end up giving a unique ID to pretty much everything it saves these kind of problems in the long run.
My other long-standing trick is to mark things as deleted rather than actually removing them from the database. This allows you to un-delete things. It has saved my ass on a few occasions.
Basic rule is: never use any data as unique ID, always use an abstract field for that.
Anyway, didn't mean to give you bad press or anything - I like your product, and as a Dane I think it's great to see Danish startups doing well. Good luck with your product.
You are right it's not a big thing to change and that it can be done quickly, the reason for not spending too much time on it yet is that we have handled the relatively small amount of requests to change email via the support - expect it to go into one the not too distant releases.