In an iPhone app of mine, the user needs a display name, that appears for other users.

I found out that I can guess a user's display name. In the mockup below I have guessed that it should be "Sanna". This is possibly the first name of the user. But it can also be totally wrong, and in that case the user will probably want to change it.

The idea is only to avoid unnecessary setup steps. If the name guess is mostly right, then why ask every user for it? But the guess might be embarrassingly wrong in a few cases. I tried to find a more accurate way, but so far I am simply using the Device Name to extract the Display Name. Here is an SO question about it. Basically, if the Device Name is "Sanna's iPhone", it will extract "Sanna".

I do not want to force the user to pick a contact, log in to facebook or such things, just to get a name. I just want to have a name real quickly, and continue with the game.

Below I mocked four different ways to handle this:

  1. Enter from scratch - not using the guessed name at all. This is how most apps I encountered do it.
  2. Suggest - Use the guessed name as prefilled text in a text box.
  3. Preset - Let the user see the name that is set, and be offered to change it before proceeding.
  4. Don't ask - use the name directly. You can change it later anyway.

EDIT: At this moment, I am using #4. Most users (95%) never mention it, which I think means it is working as intended. But I have received complaints about bad guesses, from users not liking the name I picked for them. They seem to be annoyed that they have to change it, even though that task is as easy as it would be confirming it in advance. So perhaps it is just seeing the bad guess that is annoying. If using a confirmation, like #2 or #3, perhaps the bad guess would be equally annoying. /EDIT

Is it a good idea to use a guess for a display name, or will it confuse the user? And if using a guess, then what kind of confirmation is needed?


download bmml source – Wireframes created with Balsamiq Mockups

  • 2
    If it's going to be a unique name, make sure you're not recommending a name that's already taken. It would be bad to suggest something the user will then have to change.
    – wootcat
    Jul 18, 2013 at 15:57
  • Thanks, there is of course no need for it to be unique. The user id under the hood will be though. Consider the Screen Name a handle only for display. Like here on SE.
    – JOG
    Jul 18, 2013 at 20:04
  • 2
    @JOG: In that case, please call it a display name, not a user name (nor a screen name). As a user, seeing the term "user name" makes me suspect that it is used for logins, and does not make it immediately obvious that it is public.
    – Brian
    Jul 18, 2013 at 20:11
  • Ah, Display Name, much better.
    – JOG
    Jul 19, 2013 at 7:04

3 Answers 3


I like the idea of guessing a name because if you guess right, the user doesn't have to enter any text. If you pick a name for the user, you are left with two possible scenarios here:

  1. The user likes the name you chose for them
  2. The user doesn't like the name you chose for them

Option #2 minimizes friction for both cases and is a very clean design with a single edit box and single button.

If they like the name, they just click "Connect" and move on. If they don't like the name, they just click on the edit box and change it.

The real flaw with #4 is that the user may not notice that you've chosen a name that they don't like.

  • 2
    +1 Especially for highlighting the trouble with option #4. Jul 18, 2013 at 18:27
  • @17 of 26: Follow-up: I am thinking, perhaps it is just seeing the bad guess at all, in any appearance, that is annoying. Please see the edit I made to my question just now. Using a bad guess as a suggestion, do you still think the trade-off of confirming good/bad guesses is worth it?
    – JOG
    Jul 19, 2013 at 9:09
  • If you're using #4, I suspect that the problem is that you chose a bad name for the user without letting them know what you were doing. Suggesting a bad name but explicitly giving the user a chance to change it is a much more user friendly scenario.
    – 17 of 26
    Jul 19, 2013 at 12:47
  • I noted that the new iOS app FireChat seems to guess the user name, using option 2.
    – JOG
    Mar 26, 2014 at 14:55

To have a quick display name you could also pick a name from the pool, which has the sence in your game world. For example, pick one randomly from the pool [Dragon, Knight, Golden Sword, ...].

As the name is given anyway (either by guessing or by picking), then options for choosing display name could be moved to edit profile screen, so you make connection more faster. The proposed state diagram is:
enter image description here

Now optional Edit profile is available on Connection screen, as shown in your sketch.

It is important note of 95% users, which are satisfied with option #4. So you could try to combine #2 and #4 in a way, when name is displayed in input field:
enter image description here

  • the guessed name is visible enough for user to take his attention
  • it is clear that the name is editable

  • a user can change it easily if he dislikes it

  • I am I right if I interpret this state diagram as my option #4? Regarding the pool: That won't work in this app, but it's an interesting thought, as it is another example of the same need of a confirmation.
    – JOG
    Jul 19, 2013 at 8:17
  • It is slightly modified option #4, bacause user will have name anyway, either guessed or picked. Confirmation is not mandatoty, it is just arbitrary step, as here at UXSE, where your first name is something like user123456. Jul 19, 2013 at 8:26
  • I cannot see how it is modified? Option #4 = "Don't ask - use the name directly. You can change it later anyway." In the last screen, the name that is used is shown in the top of the screen. Maybe the text is a bit too tiny. :) This is actually how it is working right now, but some users have complained about the extra step of having to change their name.
    – JOG
    Jul 19, 2013 at 8:30
  • Okay, you are right! I just thought of the situation when you couldn't guess user's name. Indeed, it's your option #4. Jul 19, 2013 at 8:33
  • 1
    Yes, I do, because if you couldn't guess the name you should ask it. Then pre-filled input box in case of guessing looks good. Otherwise user fills it manually. Jul 19, 2013 at 9:04

Option #2 is my preferred choice among them. But do you require the username to be unique?

If not, go for Option 2.

Else, a list of unique name generated with option 2 name.


Sanna20130719 Sanna123

  • No need to be unique, see the comments on the question.
    – JOG
    Jul 19, 2013 at 8:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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