Должны ли имена пользователей быть уникальными? Это позволит избавиться от раздражающих идентификационных номеров и уменьшить олицетворение. В конце концов, зачем кому-то хотеть, чтобы у других было то же имя, что и у них? С другой стороны, новый пользователь может не иметь возможности зарегистрироваться под своим настоящим именем. В реальной жизни вы можете носить любое имя.

Так что лучше?

14
bjb568 12 Май 2014 в 04:54
4
Я делаю!
 – 
kBisla
12 Май 2014 в 05:57
2
Посмотрите на сайтах SE. Кажется, они хорошо работают без уникальных имен пользователей.
 – 
PlasmaHH
12 Май 2014 в 12:43
3
@PlasmaHH: +1 да, но во всех смыслах и целях это не имена пользователей, а «отображаемые» имена (я знаю придирки, но тем не менее, это работает только потому, что я могу отличить пользователей с одинаковым отображаемым именем, возможно, по их аватару , но обязательно по их идентификационному номеру).
 – 
Marjan Venema
12 Май 2014 в 16:00
1
@MarjanVenema: Ваша придирка, кажется, подразумевает, что, когда имя пользователя не является отображаемым именем, оно должно быть уникальным идентификатором, а когда оно не уникально, это просто отображаемое имя, поскольку всегда есть способ отличить его по какому-то уникальному ключ (и всегда должен быть уникальный ключ)
 – 
PlasmaHH
12 Май 2014 в 16:15
2
@MarjanVenema: Итак, если ваше определение подразумевает, что имена пользователей являются уникальными идентификаторами, то вопрос о том, являются ли они уникальными или нет, кажется бессмысленным, не так ли?
 – 
PlasmaHH
12 Май 2014 в 16:18

4 ответа

Лучший ответ

На самом деле все зависит от вашего подхода. В наши дни проще попросить людей войти в систему по электронной почте, которая может использоваться в качестве имени пользователя и должна быть уникальной. Иногда бывает трудно вспомнить имя пользователя, которое у вас есть для некоторых сайтов, поскольку они могут отличаться от других сайтов, которые вы посещаете. Делая электронную почту, вы гарантируете, что она будет уникальной.

Однако следует иметь в виду, что вы обязательно должны создать идентификатор для каждого пользователя. Оттуда вы назначаете адрес электронной почты или даже имя пользователя. Это позволит пользователю изменить его в любое время, даже если вы не собираетесь разрешать им это делать. В противном случае вы можете загнать себя в угол, и вам будет трудно улучшить свой подход.

Еще одна вещь, которую вы также можете сделать, — это реализовать двойной подход к входу в систему по электронной почте и имени пользователя. Пример — Фейсбук. Вы можете войти в Facebook под своим именем пользователя, адресом электронной почты или даже номером телефона. Имя пользователя определенно должно быть уникальным почти во всех случаях. Однако вы можете добавить поле, если хотите отображаемое имя, которое не обязательно должно быть уникальным. Да, его немного сложнее создать, но в итоге вы уменьшите трения для своих пользователей и значительно облегчите им возвращение.

20
Francis Pelland 12 Май 2014 в 06:06
Электронное письмо? Я не думал об этом.
 – 
bjb568
12 Май 2014 в 06:11
5
Обратите внимание, что вы все равно можете захотеть использовать уникальное имя пользователя для своих пользователей в зависимости от того, насколько активно они взаимодействуют между собой. Если вы используете форум, чат-группу или другую сложную службу взаимодействия с пользователем, знание того, что конкретное имя пользователя всегда будет относиться к одному и тому же человеку, поможет с модерацией и репутацией. Кроме того, некоторые люди никогда не захотят использовать личную информацию в качестве имени пользователя, например адрес электронной почты. Например: несколько лет назад на форумах World of Warcraft поднялся шум из-за того, что Blizzard хотели заставить людей использовать настоящие имена.
 – 
Nzall
12 Май 2014 в 12:51
3
Вопреки вашему предположению, я использую одно и то же имя пользователя на всех сайтах, на которые я регистрируюсь, но даю им разные адреса электронной почты для рассылки спама. Поэтому я с гораздо большей вероятностью запомню свое имя пользователя (и с Lastpass это почти гарантировано), но я могу забыть адрес электронной почты, который я им дал.
 – 
dotancohen
12 Май 2014 в 16:26
2
На собственном горьком опыте я обнаружил, что адрес электронной почты не такая уж хорошая идея, как вы думаете... Конечно, одно электронное письмо принадлежит одному пользователю... Но у одного пользователя может быть много электронных писем :P
 – 
major-mann
12 Май 2014 в 16:58
1
У пользователей может быть несколько адресов электронной почты, но, как правило, у пользователей есть основной. Вы всегда можете разрешить пользователю прикреплять столько писем, сколько они хотят, к своей учетной записи. Но это скорее проблема реализации, чем проблема UX.
 – 
Francis Pelland
12 Май 2014 в 18:20

Принуждение уникальных имен пользователей является необходимым побочным эффектом того, как все работает. Вы должны дать каждому что-то уникальное, чтобы отличить его. Но не обязательно, чтобы эта уникальная вещь носила их имя! Подойдет уникальный адрес электронной почты, подойдет уникальный внутренний идентификатор. В школьные годы студенческий билет делал свое дело.

Facebook не навязывает пользователям уникальные имена, они генерируют идентификаторы для всех. Twitter должен использовать уникальный идентификатор, но ваше имя может быть вашим настоящим именем! Полностью зависит от вашего приложения!

3
kBisla 12 Май 2014 в 06:08
1
Я знаю, что у меня должно быть "что-то уникальное", мне интересно, что пользователю понравится это что-то.
 – 
bjb568
12 Май 2014 в 06:09
Зависит от того, сколько они собираются использовать это что-то. Идентификаторы fb никогда не используются пользователем, но дескрипторы Twitter используются. Над чем ты работаешь?
 – 
kBisla
12 Май 2014 в 06:13
1
Что ж, все будет основано на имени пользователя. Я не собираюсь публично раздавать электронные письма (вместо имен пользователей).
 – 
bjb568
12 Май 2014 в 06:17
Затем используйте что-то вроде дескрипторов Twitter и используйте необходимый побочный эффект.
 – 
kBisla
12 Май 2014 в 06:23
Так что ваш ответ да. Должен ли вход в систему осуществляться по электронной почте, если имена пользователей уникальны?
 – 
bjb568
12 Май 2014 в 06:25

Я думаю, что какой бы токен вы ни использовали для входа пользователя, он должен быть уникальным.

Я думаю, что реальный вопрос в том, должны ли они войти в систему с именем пользователя или адресом электронной почты? Я считаю, что они всегда должны входить в систему с адресом электронной почты по нескольким причинам:

  • Большинство людей с большей вероятностью помнят свой адрес электронной почты. Лично у меня есть 3 адреса электронной почты (2 рабочих, 1 личный), но полдюжины имен пользователей
  • Если вы используете социальный веб-сайт, где имя пользователя представляет собой онлайн-идентификацию, которую могут видеть другие (форумы, чаты и т. д., что я лично считаю одной из немногих ситуаций, когда следует использовать имя пользователя), теперь вы рекламируете половину своего войти в мир. Независимо от того, нужно ли вашему сайту имя пользователя, я считаю, что вы должны использовать адрес электронной почты. Конечно, они не всегда защищены, поэтому важен хороший пароль.
    • В этом случае имя пользователя, вероятно, не обязательно должно быть уникальным, если только у вас нет другой причины для этого, например персонализированного URL или чего-то еще (website.com/u/your_username)
  • Адрес электронной почты автоматически будет уникальным для пользователя. Бывают ситуации, когда пары обмениваются электронной почтой, но если они хотят сохранить общую личность, то это их выбор.

Тл;др; использовать адреса электронной почты в качестве токена входа. Я рекомендую разрешать пользователям создавать имя пользователя только в том случае, если это имя пользователя необходимо каким-то образом использовать для представления личности пользователя, но даже в этом случае войдите в систему, используя адрес электронной почты.

2
Adam Plocher 13 Май 2014 в 20:50

Термин «имя пользователя» используется для нескольких разных вещей:

  • Имя входа для аутентификации. Чтобы войти в систему, пользователь должен сказать, кто он, и указать секрет (пароль). Итак, здесь целью является идентификация, и она ДОЛЖНА быть уникальной в глобальном масштабе (для всего сервиса). Распространенным уникальным идентификатором, которым люди готовы поделиться, является адрес электронной почты.
  • Упоминание: "@bjb568, что вы думаете?" - здесь, во многих контекстах, я ожидаю, что вы получите уведомление о том, что я упомянул вас. Это должно быть уникальным в этом контексте - нет необходимости в глобальной уникальности.
  • Узнаваемое человеком отображаемое имя. Когда мы видим значок и имя пользователя, мы, люди, понимаем, с кем мы разговариваем. Хотя bjb568 и ck1x972 не имеют ничего общего, людям очень сложно распознать их обоих. Таким образом, уникальность здесь может быть важна, но в другом смысле, чем равенство строк.

Кроме того, я бы не хотел заставлять пользователя, который хочет взять чистое имя, использовать другое, потому что его имя уже занято.

Что делают другие?

  • StackExchange: Display Name и email для аутентификации; отображаемое имя НЕ уникально
1
Martin Thoma 3 Июн 2019 в 21:29