Еще к ней примочки: если введен адрес openid, то регистрируем или авторизуем через openid.
Насчет авторизации: зарегистрирован ли емейл, узнаем аяксом, если да, то сразу показываем поле для ввода пароля.
Регистрация, авторизация и аутентификация — 3 разных понятия.
Вот как я их понимаю:
Регистрация — это заведение нового уникального аккаунта пользователя на сайте.
Авторизация — выдача человеку прав на какие-то действия, доступ в какие-то разделы сайта
Аутентификация — процесс, в процессе которого устанавливается, что пользователь — тот, за кого себя выдает (в интернет-смысле).
Что такое «просто вход»? Обычно это регистрация с авторизацией после первой аутентификации и авторизация после последующих. Я это и предлагаю. При регистрации совсем не обязательно что-то спрашивать у пользователя и вообще как-то отражать интерфейсно, что произошла именно регистрация, а не просто авторизация.
Кстати, насчет сократить форму.
Была у меня одна немного дикая идейка. Сделать форму регистрации-авторизации ровно из одного инпута.
Человек вводит туда свое мыло.
Если это мыло яндекса, рамблера или гугла, авторизуем-регистрируем его по OpenID.
Если нет — регистрируем обычным способом. Если он уже зарегистрирован, спрашиваем пароль.
Из-за «если зарегистрирован, спрашиваем пароль» отказался от этой идеи, хотя все равно считаю, что она крутая)
Насчет Gmail и Google — наверное, все-таки неправ был. Просто вот в чем дело, тут такая двойственность имеется. У гугла кроме почты есть много других сервисов, и если зарегистрироваться в одном из них, то вход через OpenID будет действовать. Там (технически) именно что «аккаунт гугл», а не «аккаунт гмейл». А с другой стороны, написал-то я «почта»)
«Все, что я тут понаписал — далеко не новость, просто решил все немного систематизировать и донести до большей аудитории. Дело в том, что да, это все вроде не новость, а проектов, использующих описанный подход, не видно у нас.»
Если не пытаться и не рассказывать всем про этот подход, ничего и не будет. Чем больше разных попыток, тем больше вероятность допилить это все до человеческого состояния.
Около этого инпута придется писать всякие непонятные слова, да и сам инпут будет непонятным многим) Всеми силами старался избежать незнакомых и непонятных штук в интерфейсе, может и зря, как показывает большинство комментариев.
Хотя для комментаторов openid не был в новинку. Вы бы знали, с каким сопротивлением на сайте вообще эта форма появилась) Первые варианты, насколько я помню, предполагали какую-то возможность ввода строки с openid, и все, кто про openid не знал (и даже те, кто слышал) говорили — «что за хрень, непонятно ничего, зачем это, это отпугнет людей, это меня отпугнуло, не хочу здесь регистрироваться, что-то тут не чисто».
Ответ 1. Регистрируйте почту на гмейле. Если у Вас нет почты там, где сайту нужно, то все равно в каком-то виде придется проходить обычную регистрацию.
Ответ 2. Оставлять на сайте возможность обычной регистрации с email'ом и паролем.
А сейчас я, возможно, глупость напишу, просто мысль в голову пришла, и обдумать ее не успел. Интересен вопрос, нельзя ли как-то подцепить гугловский openid к почте на своем домене. Почту ведь можно гугловскую к своему домену подцепить.
На самом деле в той форме, которую я привел, есть небольшой скрытый дефект, на который стоит обратить внимание — что будет, если почта есть везде? Будет 3 разных аккаунта?) Поэтому полезно после регистрации делать возможность объединения аккаунтов, чтоб один пользователь мог иметь несколько openid.
Проблема исключительно в пользовательском интерфейсе.
Представьте форму, где будут кнопки для всех этих служб. Если добавили ЖЖ, то почему бы и не добавить микрософт? Если добавили микрософт, почему бы не добавить myopenid и skype? И т.д. В итоге получаем форму с кучей кнопок, среди которых человек должен выискивать своего провайдера. Хотя и первые 3 кнопки с очень большой вероятностью его бы удовлетворили. Если у меня есть скайп, то это еще не значит, что у меня нет почты в гмейле.
Идея-то в том, чтобы сделать проще. Если кто-то нарисует форму со всей этой кучей кнопок, которая останется простой для восприятия — здорово, у меня не вышло просто.
Без него они преобразовывались в кликабельные ссылки и терялась информация о протоколе (http или https). Переходить по ним смысла мало, т.к. там ничего интересного. Разработчику нужно их в код вставлять, а не ходить по ним самому. Только поэтому.
а) Эта форма совсем не обязательно отсекает пользователей ЖЖ, она отсекает только тех пользователей ЖЖ, у который нет почты на яндексе, гмейли или рамблере
б) В русском ЖЖ людей раз в 20 меньше, чем на том же mail.ru, насколько мне известно
Там не 1 клик, а 2, т.к. подтверждение — обязательно (если до этого не подтвердили), в скрытом iframe ничего не сделаешь. И узнать Ваш текущий email — невозможно.
Пусть у Вас 2 ящика: vasia@ya.ru и petya@ya.ru.
Вы зарегистрировались, используя аккаунт vasia@ya.ru и нажали «да, дальше меня не спрашивать». Потом вышли из vasia и зашли в petya. При попытке зайти на сайт Вас перекинет на яндекс, где будет уже как-бы новая регистрация под аккаунтом petya, т.к. про то, что vasia как-то связан с petya, сайт ничего не знает. Чтобы зайти как vasia Вам нужно будет выйти из petya и зайти в vasia.
А насчет LJ. Дело в том, что в русском LJ, по моим данным, раз в 20 меньше людей, чем на mail.ru том же. Почта есть, можно сказать, у всех. Блоги же ведут сравнительно (сравнительно!) немногие.
Кстати, стоит иметь в виду, что этот способ их совсем не обязательно отсекает. Он отсекает тех, у кого есть другой аккаунт OpenID и нет почты ни в гмейле, ни в яндексе, ни в рамблере.
Есть же такой мем, что каждый уважающий себя гик имеет почту на гмейле)
Если есть другой аккаунт OpenID, значит Вы гик, как и большинство тут на хабре)
Если ресурс тематический айтишный и гиков не 10 человек, то можно и добавить поле для ввода своего openid. Еще можно оставить обычную регистрацию. Все ведь от ресурса зависит, обычно про openid никто слыхом не слыхивал, и усложнять форму ради пары человек смысла мало. Я ни в коем случае не настаиваю на конкретном интерфейсе, просто обозначаю возможный подход, который отлично сработал в моем случае.
А насчет яндекса — магия! Можете описать поподробнее, если не влом? Что пишет? Трейсбеков не прислало никаких. Я бы поразбирался, вроде все довольно обкатано было. Можно или в личку, или тут.
Да, абсолютно правильно поняли. А насчет людей, которые захотят писать статьи — вот именно поэтому иллюзий по поводу перспективности и не питаю. Потребуется немало времени и сил, чтобы сайт стал полезным, «голым» он никому не нужен. В принципе, там должны быть скорее не споры, а сравнения, сопоставления. И статьи писать целиком не обязательно, цель как раз сделать так, чтоб каждый мог вносить посильный вклад в достаточно удобной форме. Но вообще, все это пока просто сотрясание воздуха. Сайта-то нет работающего. Мне очень интересно его доделать, но на ближайшее время другие приоритеты.
Насчет авторизации: зарегистрирован ли емейл, узнаем аяксом, если да, то сразу показываем поле для ввода пароля.
Вот как я их понимаю:
Регистрация — это заведение нового уникального аккаунта пользователя на сайте.
Авторизация — выдача человеку прав на какие-то действия, доступ в какие-то разделы сайта
Аутентификация — процесс, в процессе которого устанавливается, что пользователь — тот, за кого себя выдает (в интернет-смысле).
Что такое «просто вход»? Обычно это регистрация с авторизацией после первой аутентификации и авторизация после последующих. Я это и предлагаю. При регистрации совсем не обязательно что-то спрашивать у пользователя и вообще как-то отражать интерфейсно, что произошла именно регистрация, а не просто авторизация.
Была у меня одна немного дикая идейка. Сделать форму регистрации-авторизации ровно из одного инпута.
Человек вводит туда свое мыло.
Если это мыло яндекса, рамблера или гугла, авторизуем-регистрируем его по OpenID.
Если нет — регистрируем обычным способом. Если он уже зарегистрирован, спрашиваем пароль.
Из-за «если зарегистрирован, спрашиваем пароль» отказался от этой идеи, хотя все равно считаю, что она крутая)
«Все, что я тут понаписал — далеко не новость, просто решил все немного систематизировать и донести до большей аудитории. Дело в том, что да, это все вроде не новость, а проектов, использующих описанный подход, не видно у нас.»
Если не пытаться и не рассказывать всем про этот подход, ничего и не будет. Чем больше разных попыток, тем больше вероятность допилить это все до человеческого состояния.
Хотя для комментаторов openid не был в новинку. Вы бы знали, с каким сопротивлением на сайте вообще эта форма появилась) Первые варианты, насколько я помню, предполагали какую-то возможность ввода строки с openid, и все, кто про openid не знал (и даже те, кто слышал) говорили — «что за хрень, непонятно ничего, зачем это, это отпугнет людей, это меня отпугнуло, не хочу здесь регистрироваться, что-то тут не чисто».
Но тоже вариант вполне нормальный, гораздо лучше того, что сейчас на большинстве сайтов.
Ответ 1. Регистрируйте почту на гмейле. Если у Вас нет почты там, где сайту нужно, то все равно в каком-то виде придется проходить обычную регистрацию.
Ответ 2. Оставлять на сайте возможность обычной регистрации с email'ом и паролем.
А сейчас я, возможно, глупость напишу, просто мысль в голову пришла, и обдумать ее не успел. Интересен вопрос, нельзя ли как-то подцепить гугловский openid к почте на своем домене. Почту ведь можно гугловскую к своему домену подцепить.
P.S. я такую возможность не делал.
Представьте форму, где будут кнопки для всех этих служб. Если добавили ЖЖ, то почему бы и не добавить микрософт? Если добавили микрософт, почему бы не добавить myopenid и skype? И т.д. В итоге получаем форму с кучей кнопок, среди которых человек должен выискивать своего провайдера. Хотя и первые 3 кнопки с очень большой вероятностью его бы удовлетворили. Если у меня есть скайп, то это еще не значит, что у меня нет почты в гмейле.
Идея-то в том, чтобы сделать проще. Если кто-то нарисует форму со всей этой кучей кнопок, которая останется простой для восприятия — здорово, у меня не вышло просто.
б) В русском ЖЖ людей раз в 20 меньше, чем на том же mail.ru, насколько мне известно
Насчет гиков — согласен, не прав.
Пусть у Вас 2 ящика: vasia@ya.ru и petya@ya.ru.
Вы зарегистрировались, используя аккаунт vasia@ya.ru и нажали «да, дальше меня не спрашивать». Потом вышли из vasia и зашли в petya. При попытке зайти на сайт Вас перекинет на яндекс, где будет уже как-бы новая регистрация под аккаунтом petya, т.к. про то, что vasia как-то связан с petya, сайт ничего не знает. Чтобы зайти как vasia Вам нужно будет выйти из petya и зайти в vasia.
А насчет LJ. Дело в том, что в русском LJ, по моим данным, раз в 20 меньше людей, чем на mail.ru том же. Почта есть, можно сказать, у всех. Блоги же ведут сравнительно (сравнительно!) немногие.
Кстати, стоит иметь в виду, что этот способ их совсем не обязательно отсекает. Он отсекает тех, у кого есть другой аккаунт OpenID и нет почты ни в гмейле, ни в яндексе, ни в рамблере.
Есть же такой мем, что каждый уважающий себя гик имеет почту на гмейле)
Если ресурс тематический айтишный и гиков не 10 человек, то можно и добавить поле для ввода своего openid. Еще можно оставить обычную регистрацию. Все ведь от ресурса зависит, обычно про openid никто слыхом не слыхивал, и усложнять форму ради пары человек смысла мало. Я ни в коем случае не настаиваю на конкретном интерфейсе, просто обозначаю возможный подход, который отлично сработал в моем случае.
А насчет яндекса — магия! Можете описать поподробнее, если не влом? Что пишет? Трейсбеков не прислало никаких. Я бы поразбирался, вроде все довольно обкатано было. Можно или в личку, или тут.
Видно же, что название «Мотивы побуждающие к написанию статей», например, не было скопированно по ctrl-c ctrl-v.
А вообще я за то, чтоб хабр такой классикой разбавлять иногда.
Вам, кстати, всяческих успехов желаю.