A large consumer internet company where I worked sent in a team of lawyers to check over the fledgling social network I was building. The registration flow concerned them. There needed to be a check where the person registering was required to submit their date of birth so that we could ensure they were over 13.
The advice of the lawyers was to throw an error if someone underage tried to register.
“What kind of error?” I asked.
“A generic error, something like, Your registration has failed or The system is down for maintenance.“
As a product guy, if there is one thing I hate more than a generic error message it’s a deceptive one. I want to give the user a specific error message that tells them what went wrong.
“Can I just tell them that they are too young to use the service?”
“No, then they would just adjust their date of birth and re-register,” said the legal department.
We all know this is what happens anyway, it’s one of the great collective nod and winks of the internet along with checking the [I understand and grok completely] boxes on the End User License Agreements we find across the web.
I argued that we must give them a more specific error so it doesn’t look like our service is broken. Legal didn’t want me to tip our had too much. What to do? We compromised.
The new error message? The agreed upon language?
You cannot use this service . . . at this time.