Clean names before entered in Database, or when displaying?

We collect numerous fields from users, including common items like their First Name, Last Name, Company, Title, etc. and want to display this information to other users in a manner that’s consistent and polished.

What are best practices for storing and displaying this data so that it looks good? For example, if Joe inputs his name as “joe smith” it’d probably be best for us to display it back to him as Joe Smith. As such, is it a better practice to update the formatting when I’m storing the data or transform it each place I’m using it? And, why?

Any other related challenges / considerations that I should be aware?

Thanks!

I try to do everythiing on the bubble front end vs the back end as I keep the data as entered. Otherwise if I manipulate the data and make a mistake I can’t go back to the way it was.

So for names I use bubble’s formatting capitalize words.

In cases where I can prevent errors I do that by validating the input box input to prevent the mistakes from entering the database in the first place.

If you have data that you can use an external api to validate that would also be something worth looking at to keep your database as clean as possible…

k.d. lang might have something to say about that :slight_smile:

Seriously though, why does it matter ? You could possibly put out a soft warning message, but to force a capitall letter seems like the wrong thing to do. Or at least a waste of time. Check out how Amazon, Google etc handle this … and if they don’t do it when they easily could … why would you ?

I’m not suggesting we force people to input their names with a capital letter – I completely agree that that’d be poor UX design.

Just curious whether 1) it makes more sense to transform the data before it’s put into our database or 2) we store it in the database as entered and then transform it in the view/UI.

Benefits of 1 are:

  • Only need to change it once (and don’t accidentally forget it on certain pages / use cases)
  • Enables us to update database manually for edge cases (e.g., last name = d’Urso) and have it displayed correctly everywhere.
  • Perhaps could eventually use a 3rd party to help us with edge cases

Benefits of 2 are:

  • Seems like a best practice to collect data from users as submitted, if for no other reason you know what they actually typed in.

I think software engineers think #2 is better with typical software, but I’m strongly leaning toward #1 in Bubble. Not a big deal either way (I don’t think), but wanted to see if anyone else has insights that I might be missing that’d change my approach.

Thanks.

I think engineers would either fix it at source (i.e. when entered, IIRC Quora does this) or they don’t bother.

If someone has entered their name (very different it is a call centre and they are doing the entering) as joe and you then display it as they entered … well they can go and change it if they don’t like it.

What is the downside ?

Or send them a friendly email…

Hey joe we noticed your name is lower case. If you want us to fix it for you just reply “yes” to this email. If you like to be joe then that is fine with us and we won’t ask again.

The downside is that it’s obvious anytime they see their name that it was put that way by a computer and not a person (this has the most impact when we send out emails). People thinking the emails come from a person increases conversion rates materially.

It’s also more professional to show people’s names capitalized correctly.

Not a bad idea, but for our product we really don’t want to have our users spend extra time on this. And, I also don’t want to spend time manually adjusting them since that’s costly. Seems like their has got to be a better way – which is why I started this thread in the first place, lol.

Thanks for the feedback @NigelG. Makes me think more and more the way to go is just to capital the first letter when we store it in the database.

Anyway.

The way I would do it would be to ask them to input the components of their name.

Then derive a "correspondence name " from the entered data. If you wanted to send them a letter. So Title, Initial, Surname.

And then a “display name” so upper case the forename.

Use whatever is appropriate at the time.

But I would certainly keep what they entered. So option 2. But display the derived fields.

2 Likes

Lol.

Well, I type my name in lowercase because I want to know when a computer emails me or a person emails me.

Also, most business users don’t think about how they type it in. They don’t think through the fact it’s going to be stored in a database with the same case they typed in. And, it’s not their job to think through every detail like this. Good UX should make it so they don’t have to think about anything, and yet it all works out just how they want.

Google may not auto-capitalize, but I’m sure Apple would. It’s because Google is run by engineers and Apple is run by UX and designers.

Our product positioning is as a premium product that’s designed with care. Getting people’s names correct is an important detail imo. So, we want to do our best to get it right. Not the end of the world one way or another, but clearly Apple’s approach to getting all of the little things right has worked for them (not that we’re trying to be Apple either). I just can’t help but remember when companies like Google and Microsoft laughed at Apple for spending so much on packaging their devices. Now, look at all of Google and Microsoft’s packaging – it looks exactly like Apple’s.

Anyhow, lots of different philosophies on this. I can appreciate your take and agree that it’d be right for many businesses for sure.

For us, it seems like the best solution is #1 and #2, lol. Store the name as they input it and also store it as we plan to report on it. I appreciate the feedback. Think we’ve come to a better solution than my initial plan.