Компания
83,84
рейтинг
1 октября 2012 в 14:26

Дизайн → Наберитесь смелости сделать не как все. 12 устаревших интерфейсных и технологических решений

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

Подтверждение пароля или email при регистрации


Как часто случается, что человек промахивается, и набирает неправильный пароль, когда он внимательно набирает его в первый раз при регистрации? Что случится, если он при регистрации ошибется в пароле? Какие эмоции вы испытываете, когда вас просят ввести подтверждение пароля? Было ли хоть раз, что вы не копировали подтверждение email из первого поля, а набирали его руками?




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

Невозможность использовать сервис до валидации email




Чтобы начать использование сервиса подтвердите свой аккаунт по ссылке из email. Почему? Для какого сервиса email является критичным на самом деле? Дайте пользователям сразу использовать сервис, достаточно повесить сверху напоминающую плашку, и отключить функциональность, повязанную на email. Пусть использование сервиса будет ограничено, но оно будет. Необходимость закрывать страницу сервиса, где ты только что зарегистрировался — нонсенс. Дайте людям поиграться с вашим сервисом. У вас социальная сеть? Пусть спокойно создадут себе профиль, не отправляйте им на это время email уведомлений, все остальное прекрасно работает без подтвержденного email. А благодарность пользователя вернется в виде радостного первого впечатления от сервиса.

Необходимость логиниться после регистрации или валидации


Если вы только что ввели пароль, почему нужно снова его вводить чтобы залогиниться? А если вы пришли по ссылке из валидации email, разве вы не знаете что за пользователь пришел на сервис? Так зачем же вы заставляете его логиниться, если вы о нем все знаете? Безопасность? Люди сохраняют пароли в браузере, а большинство сервисов и вовсе используются без разлогинивания, доступ к аккаунту давно перестал быть первым приоритетом безопасности. А если человек пришел по ссылке из почты, значит у него есть к ней доступ, и он может восстановить пароль, получив тот же доступ к аккаунту. Тогда зачем же мучить обычных пользователей требованием ввести логин-пароль еще раз? Пустите их к себе на сервис, они жаждут начать им пользоваться, а вы мешаете.

Капча должна быть читаемой





Сколько раз вы матерились на reCAPTCHA, не имея возможности прочитать что на ней написано? А ведь именно капча сильнее всего раздражает пользователя. А капча, на которой невозможно ничего прочитать — это настоящее испытание для нервов. Может ну ее эту капчу, и пора закрыть страницу регистрации? Я был свидетелем как мой друг обновлял рекапчу 5 раз, пока не смог наконец ее прочитать. В борьбе с роботами пострадало слишком много мирного населения. Капча должна быть в первую очередь дружественной к людям. А вместо роботов давно уже можно заплатить копейки тысяче азиатов, которые наберут капчу руками. Используйте капчу, легко понятную с первого раза. И забудьте про рекапчу!
first_and_last_warning=on

Ограничения на поля ввода




Ради вашей безопасности пароль должен быть не короче 8, но не длиннее 12 символов, содержать минимум одну заглавную букву, цифру, и знак препинания. Хотя бы раз каждый из нас мучительно придумывал новый пароль, потому что старый не уложился в выдуманные разработчиком условия. «Ради безопасности» приходилось класть этот пароль в текстовый файлик на рабочий стол или почту, потому что запомнить свежевыдуманное для единственного сервиса невозможно. А через пару месяцев восстановление забытого пароля. Мы заботимся о вашей безопасности.

Оставьте пользователю самому думать о безопасности. Ограничения на пароль не решают проблему, они лишь вызывают ругательства у живых людей. Пароль из 5 символов может быть F;#z2, а из 9 — alexander

Подтверждение сохранения настроек, задаваемых через checkbox и select




Зачем подтверждать checkbox? Помните ли вы зачем вообще подтверждение? Мало кто переосмысливает такие базовые вопросы, многие просто копируют потому что так у других, а другие наверняка имеют уважительные причины. Чаще всего не имеют. Подтверждение спасает от спонтанных кликов. Иногда ведь так хочется что-нибудь написать в поле ввода, потыкать в кнопочки. А может кот прошелся по клавиатуре? Чтобы не отменять мучительно сделанное из любопытства, делают кнопку «сохранить изменения». Мучительно, вот ключевое слово. Что случается, если мы случайно включили настройку checkbox? Нам надо ее отменить, верно? А это делается в один клик по тому же самому checkbox-у. Так не лучше ли сохранять настройки прямо по клику на checkbox? Как и в случае с паролем, ошибки случаются намного реже, чем осмысленные нажатия, а отменяются в один клик. Не заставляйте пользователей каждый раз сохранять изменения в блоке чекбоксов. Все крупные сервисы уже так делают.

Ставьте фокус, в поле ввода. Выделяйте поле, из которого будут копировать


Это скорее совет, а не часто наследуемое неудачное решение. Ведь когда решения нет, наследовать нечего. Но почему его нет, ведь это же так тривиально просто делается, и настолько увеличивает удобство для пользователя? Так просто поставить курсор в поле при открытии страницы с текстовой формой. Хабрахабр, почему на странице создания нового поста не ставится автоматом курсор в заголовок или в выбор хаба? А на странице поиска (habr.ru/search), ведь там одно единственное поле ввода? Не перестаю удивляться на каком безумном количестве сервисов приходится делать лишний клик даже если основная функциональность страницы заключается в одном поле (как это часто бывает с тем же поиском). Даже Amazon не ставит фокус в поле поиска на главной странице (ebay ставит).

Элемент управления «Карусель»




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

Кнопки социальных сетей




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

По странице на таб и отдельные навигационные страницы




Не так часто, но в интернете все же встречаются навигационные страницы, суть которых лишь в том чтобы описать по какой ссылке что находится. Именно такая страница открывается при клике на раздел, вместо самого раздела. Нажимая на «настройки» — я хочу увидеть сразу настройки, а на «друзей» — список друзей. Почему бы не открывать первый, самый важный раздел сразу, вместо навигационной страницы? Все равно если разделы нуждаются в подписях, или их слишком много, значит ваша навигация и понятность интерфейса нуждается в переосмыслении.

Ограничения на размер фотографии



Размер загружаемой фотографии не может быть больше 100 килобайт. Серьезно? Я снял себе аватар на цифрозеркалку, которая на выходе дает 15 мегабайт, и теперь чтобы загрузить аватар мне нужно устанавливать редактор или гуглить фотошоп онлайн, и тратить 10 минут чтобы сжимать фотографию по размерам и объему? А не сменить ли мне просто сервис? Вряд ли в 2012 году можно разориться на дисковом пространстве для загрузки фотографий профиля, которые потом все равно сжимаются на сервере. Так почему мне не дать просто загрузить фотографию? Даже крупные сервисы вроде formspring и foursquare до сих пор грешат такой экономией на спичках. Многие современные сервисы делают все, чтобы регистрация и создание профиля были максимально сложными. Самые преданные пользователи, прошедшие через все препятствия, уже никуда не денутся. Но все ли дойдут?

Зебра в таблицах




Если у вас используется таблица, скорее всего у вас уже что-то не так. Посмотрите на гигантов: списки давно вытеснили таблицы. Но если вы оставили таблицу, не раскрашивайте ее, пожалейте глаза пользователя. Правильно устроенный список читается без визуального разделения строк: посмотрите на gmail. Список из сотни писем не режет глаз, вы прекрасно понимаете какой строчке принадлежит какая дата и тема. Или список диалогов ВКонтакте. Он не раскрашен, но строки прекрасно читаются. А теперь представьте, если бы каждая четная строчка в нем была окрашена в другой цвет. О, мои глаза!

Нужна решительность, чтобы пойти против крепких традиций. Благодарные пользователи вас не забудут.
Автор: @Silf
Luxoft
рейтинг 83,84

Комментарии (384)

  • +33
    Надеюсь разработчики прислушаются. Как же надоедает вводить при регистрации подтверждение пароля, особенно если делать это со смартфона. А подтверждение e-mail — это вообще за гранью добра и зла (на каком-то из форумных движков так сделано).
    • +30
      Вы хотели сказать, есть некоторые движки, на которых так не сделано?
      • +4
        С последним пунктом не соглашусь — списки — таблицы — где разница?
        Если в таблицы 2-3 колонки, то да есть варианты оформления — но если больше 10…
        А раскрашивание вполне уместно и удобно — правый вариант даже красив
        • +3
          Таблицы — для таблиц. Списки — для списков. И не слушайте никого, кто говорит иначе =)
          Кстати, что Гугл, что Яндекс, на самом деле достаточно активно используют таблицы.
        • 0
          Вы хотели сказать левый?
          • 0
            аха — левый конечно.
    • 0
      Я всегда, почему то думал, что отнюдь не разработчики закладывают число полей и логику регистраций :) Скорее это вопрос к product-менеджерам.
      • 0
        product-менеджер, думаю, может составить опросник, или поля фильтрации в каталоге товаров, зачем ему лезть в процедуру регистрации на сайте, которая является техническим процессом
        • +3
          Технический процесс — это запись данных о пользователе в базу. Всё остальное — это формочки придуманные тем или иным дизайнером/проджект менеджером/ кто там ещё решает как выглядит и что делает сайт
          • –3
            То, что вы не принимаете решений о том, как будут выглядеть и функционировать продукты, которые лично вы создаете, мы уже поняли. Но не надо себя приобщать ко всем. Основные идеи о том, что и как будет выглядеть, должны исходить от разработчика. Дело менеджера оценить такую идею с точки зрения удобства для пользователей и принять или не принять ее.
            • +6
              У Вас очень странное представление о процессе разработке продукта. Да, быть может если мы говорим о фрилансере и заказчике так оно и есть — разработчик тут и менеджер и дизайнер и разработчик.

              Но если мы говорим о крупном продукте, то есть
              1. Продукт-менеджеры — люди которые генерируют идеи о функционале продукта. Любые идеи проходят через них, хотя могут быть предложены хоть уборщицей.
              2. разработчики, которые реализуют эти идеи.
              3. Аналитики, которые определяют успешность идеи/изменения, и передают эти данные продукт-менеджерам, для дальнейшего развития идей

              Разработчик в одиночку, на крупном проекте просто этого не потянет.

              И последнее — не переходите на личности. Это во-первых некрасиво, а во вторых просто глупо, если Вы не знаете человека которому отвечаете.
              • –7
                У меня представление основано исключительно на моем собственном опыте. Что для вас является «крупным продуктом»? Продукт, у которого есть пользователи более чем в 30 городах? 70 активно работающих с одним сервером пользователей, сотни тысяч документов в системе? Это крупный продукт или нет? А создается и поддерживается он силами 3-4 разработчиков, один из которых по совместительству PM. Аналитики, продукт-менеджеры (видимо, их очень много, раз вы говорите о них во вножественном числе) — толпа сброда и офисного планктона, ведущая к неэффективным командам и провальным проектам.
                • +10
                  не будьте смешным. Да, часто программистам кажеться что они самые главные, лучшие, и кроме них всех можно уволить. Это не так.

                  Если вы хорошо обходитесь без «толпы сброда и офисного плнктона» — это отлично, я за Вас рад.

                  Теперь о «крупных продуктах», ан которых довелось поработать мне — пара миллионов уникальных пользователей в день, world-wide. Толпы аналитиков и продукт менеджеров. Но я не назвал бы их провальными :).
                • +1
                  Вы видимо считаете что разработка ПО ограничивается написанием твиттеров и фейсбуков. где в общем то всё с точки зрения функционала подвластно мозгу хорошего интернет-пользователя. Но спешу вас огорчить, есть ещё аутсорсинг для бизнеса, где доменная логика для программистов может быть крайне мутной и неинтересной. Там о генерации идей, и анализе эффективность и речи не идёт. Там программисты без PMа не смогут даже задачу себе поставить и запутаются банально в сотнях 2-х,3-х буквенных аббревиатур.

                  А когда речь заходит о проектах разбитых на несколько команд, где в последствие нужна некая интеграция, без PMa вообще трудно себе представить взаимодействие. Децентрализация власти ни к чему хорошему не приведет. Либо же Тимлиду придётся заниматься вместо разработки тем чем должен заниматься PM
                  • +1
                    Какие твиттеры, фейсбуки? Я занимаюсь разработкой как раз-таки корпоративного ПО и про сложность «доменной логики» (которую я привык называть скорее бизнес-правилами) я знаю не по наслышке.
          • 0
            Чаще всего и не решают — что пришло в голову, так и остается годами.
        • +6
          Вы видимо никогда не работали в большой компании. Очень много разработчиков действительно хотят сделать хорошо. Но всегда есть менеджеры или псевдо-менеджеры, или начальство, которое либо не понимает, либо застряло в 90ых.
          • +2
            Есть и обратная сторона медали — очень часто разработчики цепляются за какую-то молочь и, гоняясь за ней, упускают важные для развития продукта вещи. Приходится менеджерам чуть не насильно из заставлять отвлечься от сеюминутной «прикольной фишки».
            • 0
              Вы менеджер что ли?
              • +2
                В том числе :) Поэтому вижу обе стороны медали разом :)
                • –3
                  Если вы менеджер в правильно понимании. Где вы руководите проектом и технической частью, когда разбираетесь в ситуации, тогда да, возможно вы можете замечать, что разработчик занимается чем то не тем и его нужно перенаправить. Это естественно входит в обязаности начальника.

                  Но когда имется введу менеджер в том понимании, в каком он чаще всего применяется сейчас, по крайней мере в России — когда менеджен ничего не понимает не в продукте, не в прокраммировании, ни в цели. Тогда я этого менеджера пошлю, если он мне скажет, что я делаю не ту задачу.
                  • 0
                    Менеджер, не понимающий ситуации и целей развития продукта… хм… не вполне на своем месте, наверное.

                    Но, какой бы ни был менеджер, вы его с какой формулировкой будете посылать? Он то вам скажет, что фирма готова оплатить ваши услуги по решению «не этой, а другой задачи». А решаемая вами задача, вроде как, фирме не нужна. И платить за ее решение фирма не захочет.
                    • 0
                      Да, на счёт целей я естественно погорячился. И посылать естественно не матом имется введу.

                      Но мы наверно говорим о разных ситуациях. Естественно, если пойти и прикручивать например к сайту то, что ему не нужно. Ну например опрос, который ну не к месту вообще на проекте (условном проекте). То это будет странно, если программист начнём этим заниматься и развития событий там уже могут быть такие, как говорите вы. Хотя мне турдно представлять.

                      Я говорю о той ситуации, когда например стоит задача сделать отличную форму регистрации, либо ещё какото сервиса или виджета. И тут прибегает менеджер (не менеджер в понимании забугорного бизнеза, когда менеджер ведёт весь проект, я такого у нас ещё не видел. А если и есть, то это либо СТО или СЕО), девочка, либо мальчик которому нужно продать, непонятно что и говорит, что я занимаюсь не тем делом и нужно сделать всё для него… кхм… это странно.
                      • 0
                        Вопрос несогласованной выдачи задач с разных сторон — это отдельный разговор. Упирается, наверное, не в квалификацию отдельно взятого менеджера, а в выстроенность бизнес-процесса компании.
                      • +4
                        Бывает и так и так. Просто вы — хороший разработчик, но, скорее всего, вам не доводилось управлять командой из студентов, вчерашних студентов не самой лучшей квалификации и по совместительству удалённой командой.

                        Бывает, очень часто им неинтересно делать основной функционал продукта, который нужно продемонстрировать заказчику завтра. Зато они прочитали про новый набор Twitter Bootstrap на хабре и горят желанием применить эти знания.

                        Или прочитали про «правильную» организацию баз данных и самостоятельно решили убить 3 часа времени на «необходимый» рефакторинг. И забыли вам про это сказать.

                        В данный момент я разработчик, но был менеджером и прекрасно помню такие моменты. Я тоже когда-то не понимал, почему меня так пытаются контролировать некие технологически далёкие личности. Просто разные девелоперы бывают :)
                        • 0
                          Как вы правы! :)
                          • 0
                            Немогу не согласиться :)
                        • 0
                          В таком контексте действительно, вы правы. Управлять командой мне ещё не приходилось, тем более из студентов. Это очень печально на самом деле, когда так происходит. Всё же хотелось бы видеть и в нашей стране более квалифицированных не только программистов, но и менеджеров, которые тоже побывали в роли программистов и в курсе, хоть и не всех, но деталей.
                          • 0
                            Описанные выше проблемы — это как раз промежуточный этап набора человеком профессионализма. И во всем мире так — люди ведь профи не рождаются.
                            • 0
                              Хм… Возможно я вас несовсем правильно понимаю. Если речь идёт просто об условном понимании всех внутренностей, когда например у менеджера за плечами очень большой опыт и он не разбираясь в программирование полностью понимает проблемы программиста и готов прислушиваться к нюансам — тогда да.

                              Я говорю о таких примерах, как например в американских компания на роль Проект Менеджера отбирают людей с полными навыками программирования на которых пишется или строется проект. Что бы этот человек действительно корректно мог вести его.
                              • 0
                                Я имел в виду, что все эти спешные попытки применить новый Bootstrap и прочие «увлеченности» — неминуемый шаг в наборе опыта. Со временем такие люди и до ведущих/менеджеров дорастают :)
                                • 0
                                  Возможно, если человек тянется попробовать, что то новое, то возможно ему нравится его работа и он хочет работать именно в этой профессии. Тогда вы правы.
                      • +1
                        «введу» от слова «вводить»… очень режет зрение это «я имею введу»… пойду что ли введу… :)))
          • +1
            Очень много разработчиков просто не знают что есть хорошо. Хорошо для компании. Например, что прямые контакты надо спрятать за кучей форм с предложением обратиться в раздел помощи и поискать. И что иногда бывает прямое указание усложнить процесс ввода данных (как бы это не казалось глупо разработчику).

            Конечно, хороший менеджер непременно расскажет разработчику причины этих действий, выслушает и оценит его предложения. Но всё же последнее слово за руководителем.
            • 0
              Да, безусловно. Как я написал выше, хороших менеджеров нехватает точно так же, как и хороших программистов. Я так всё же убеждён, что менеджер должен разбираться в технической части. Если скрестить нажего СТО и Проект Менеджера, то получится идеал :)
    • +4
      Активация по E-mail благо, это сделано для защиты от ботов. И еще пару пунктов считаю обосноваными, что бы сервис не превратился в хлам. Вот про пароли согласен, пускай пользователь сам решает, на сколько ему нужна учетка. На сервисах которыми я пользуюсь 1-2 раза в жизни, нет смысла выдумывать, новый сверх сложный пароль
      • +3
        Для защиты кого от ботов? Посетителя? Нет. Боты это проблема владельцев сайта, а активация по почте — перекладывание проблемы на посетителя. Тем более, почему бы боту не иметь почту?
        • 0
          Вот вот, да и сервисов на подобие 10minutemail сейчас предостаточно.
      • 0
        КАК ТАК, РАЗВЕ ВЫ МОЖЕТЕ ВОСПОЛЬЗОВАТЬСЯ НАШИМ УНИКАЛЬНЫМ ИННОВАЦИОННЫМ НАНО СЕРВИСОМ ВСЕГО 1 РАЗ??????

        К сожалению, часто люди не осознают нужность и уникальность своего ресурса, часть завышая их. Более того, многие считают что регистрация — это путь не только к чистоте, но и к возврату пользователя.
      • 0
        Если мне нужен миллион ботов, поверьте, я куплю туеву хучу имейлов и напишу скрипт регистрации с активацией. И вообще все ваши «защиты» обойду, это не сложно, вопрос времени. А задрачивать пользователя лишними действиями это смертный грех. Нажал «зарегаться», ввел мыло, имя и пароль и юзаю. Все! В гробу я видал все ваши защиты с тысячей рекапч, подтверждения по имейлу, инкубационные периоды и прочую чушь. Горите в аду, такие сервисы.
      • 0
        Тут дело вот еще в чем. Если пользователь под своей учеткой может хоть что-то публиковать на сайте — сервису таки есть смысл не позволять использовать пароли типа «123». Потому что учетки с простыми паролями будут сломаны, и через них на сайт прорвется такой объем говна, что мало не покажется ни владельцам сервиса, ни пользователям.
    • +4
      Эти все формы и фишечки не просто так появилсь (разве что карусель для красоты). Если следовать Вашей логике, то за гранью добра и зла в принципе использовать регистрацию. Давайте согласимся, что фейсбука-вконтакта-%другое% вполне хватае для включения персонажу комментирования (или зачем вам там регистрация нужна). А если у вас серьёзный ресурс, то просто попробуйте доказать директору клиентского бизнеса, что оставленные заказы-отклики-демосчета будут без единого способа выйти с человеком на связь. В таком случае вообще нет смысла в регистрации.

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

      Так что в каждом случае важны свои детали. И если не почту, то проверяемый телефон (что денег стоит) или скайп надо забирать.
      • +1
        В моем комментарии речь шла о подтверждении ввода e-mail, а не о его валидации. Нет смысла заставлять пользователя писать одно и то же два раза.
        • +3
          Есть ситуации, когда это имеет прямой смысл.

          Например, вы бронируете отель. Система позволяет сделать это без регистрации (и это реально круто!), но вы ведь должны получить на руки копию брони. Если при вводе почтового адреса вы ошибетесь, обратного пути не будет.

          Деньги с вашей карты списаны, страница браузера вами захлопнута, адрес гостиницы гуляет по просторам Интернета в адресованном на некорректный адрес письме и хорошо, если вы твердо запомнили его название.
          • 0
            Как от этого спасает удвоенное поле мыла? Вы хоть раз вводили его не копипастом?

            ЗЫ. Копия брони обязана появиться (сама или явная ссылка на неё) сразу для распечатки. Вне зависимости от того что куда будет послано по мылу.
            • 0
              Я пытался ввести копипастом. Сайты сопротивлялись :)

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

              Поэтому, кстати, очень удобно получить ссылку на PDF-вариант, который на мобильном устройстве легко сохраняется, пересылается, просматривается, при необходимости и возможности — печатается.
  • +9
    Самые ужасные формы регистрации, это те формы, в которых есть несколько страниц
    • +42
      Ещё более страшны те, при вводе капчи в которых или при незаполненном поле страница обновляется и пропадает вся уже введённая информация.
      • +15
        Пропадает вся введенная информация — это уже редкость.
        Но вот пропадает введенный пароль — это норма. Видимо из-за маразматических соображений безопасности. Типа один раз передать пароль на сервер в открытом виде это нормально, а вот вернуть его с сервера в браузер это уже ужас! Ну пусть делают сабмит формы на ajax, если так параноятся.
        • 0
          насчет Ajax полностью согласен. Но при релоде страницы, пароль оставлять явно небезопасно. Ведь тогда он будет в исходных кодах страницы.
          • +2
            Надо сохранять его в сессии на сервере (форму с данными отдавать уже с default паролем по-умолчанию) и, если он присутствует и пришел default-пароль в данных от формы, не заменять при повторной отправке формы и брать из переменных сессии.
            • 0
              Хорошо решение=) Сами придумали? Возьму на заметку!
              • 0
                Да… Вот придумываю и минусы зарабатываю… :(
                Но, не боюсь критики)
                Иначе — как узнаешь: прав ты или нет?
            • 0
              Если пользователь после неудачной валидации формы решил добавить одну букву к паролю — что вы будете делать?
              • 0
                Решил дописать её после звездочек? Скрипом снести звёздочки при получении фокуса полем пароля например… то есть, заставить набрать новый вариант целиком.
                • 0
                  Эта ветка дискуссии была как раз о том, что заставлять набирать пароль полностью — нехорошо.
                  • 0
                    Эта подветка дискуссии о том, когда пользователь что-то в пароле поменять вздумал. В таком случае и перенабрать его целиком не грех. А вот если пользователь лишь разбирается с «ошибками» в других полях, а пароль не трогает — вот тут действительно подло заставлять каждый раз перенабирать пароль.
        • 0
          Потому что стандартный input type=password не позволяет загружать в себя данные при перезагрузке страницы, а разработчики ленятся переделывать стандартные схемы.
          • 0
            Ну как же не позволяет-то? очень даже позволяет!
            • 0
              Стандартный виджет Django для поля ввода пароля, насколько я помню, ведет себя именно так.
              • 0
                «стандартный input type=password» и «стандартный виджет Django для поля ввода пароля» — это все-таки разные вещи, не? У Symphony, насколько я помню, формы тоже по умолчанию любят забывать пароль, если не прописать отдельно.
                • 0
                  Да, это разные вещи. Я только имел в виду, что такое поведение навязывают даже разработчики фреймворков. :)
  • +10
    Хочу ещё добавить: разработчики, пожалуйста, делайте нормальный переход по табу! К примеру, когда я ошибаюсь с вводом пароля на rutracker.org, мне приходится вводить логин/пароль/капчу. При этом я могу перейти табом из поля «Логин» в поле «Пароль», а вот в «Капчу» перейти табом уже не получается. И это каждый раз бесит.
    • +1
      А меня в на rutracker.org раньше выводило, что на главной странице нет автофокуса на поле поиска. Просто часто бывает — захотел такой-то фильм, пошел на rutracker скачать его; т.е. первым делом практически во всех случаях я набираю фильм в поиске. Вышел из положения написанием маленького расширения для chrome.
      • 0
        Я тоже регулярно дописываю скрипты под сайты… Но это всё равно бесит)
      • 0
        Да. Вполне можно пихать в куки манеру поведения пользователя для инициации части переменных/элементов на сайте.
        Т.е. адаптивная к поведению инициализация страницы. (не пользовательская!)
        Осталось алгоритм придумать с векторами и деревьями и закодить. )
        Всего-то )
  • +5
    А за читабельную капчу огромное и особое спасибо!
    • –7
      Чиста для информации: http://captchabot.com/ru/index.html
      • +1
        Ну капча это отдельная тема и необязательно циферки. Можно, например, задать простой вопрос, типа: «Кто президент России?» или «Сколько дали Pussy Riot?» :). Понятно, что тема сложная, и неизбежно будет идти борьба машин и людей (в буквальном смысле), но есть же и здравый смысл.
        • 0
          Да. Таймаут после загрузки страницы и проверка событий от GUI полей перед отправкой формы. :)
        • 0
          Миллионы русскоязычных пользователей, живущих вне России, или хотя бы не включающие зомбоящик — в пролёте?

          Вот я без понятия, сколько дали Pussy Riot, честно. И мне даже гуглить неинтересно.
          • 0
            Ну ребята, ну я же специально смайлик поставил :). Вопросы могут быть любыми, в том числе и совершенно нейтральными, ну, например: «Сколько будет 2*2?» не суть важно. Я только хотел сказать, что
            капча это отдельная тема и необязательно циферки

      • 0
        не мой сайт! не мой!
        просто привел для информации… хватит уже минусовать то)
  • +3
    Добавлю еще (как я сделал): при вводе локации делать обратный порядок: Город, Регион, Страна.
    А при вводе города — ajax-hint => При табе на регион (если 1 запись): сразу вставка из БД в поле => Страна — так же.
    Т.е. цепочка не с ROOT-a, а обратная и всегда подсказки.
    • +1
      А при вводе города — ajax-hint => При табе на регион (если 1 запись): сразу вставка из БД в поле => Страна — так же.

      Вы так говорите, словно названия городов в мире абсолютно уникальны.
      • 0
        Если название не уникальное — это будет видно в след. полях. (выше уровнями).
        Связи:
        таблица уник. городов: ID
        табл. регионов: ID, ID города
        табл. стран: ID, ID региона, ID города
        • 0
          «ID города» в конце — лишнее написал)
      • +5
        Вы так говорите, словно названия городов в мире абсолютно уникальны


        • 0
          А теперь покажите удобную реализацию этого для мобильных девайсов с тачскринами :-) Подобные формы, конечно, имеют свой фактор удобства, вот только довольно проблемны для многих казуальных пользователей даже на десктопах с мышками.
    • +3
      от слово «локация» у меня вздрагивает внутреннее чувство прекрасного.
      Локаци — это глагол: процесс определения положения.
      А тот контекст, в котором вы его используете, мимикрирует английское слово location, что на русском языке значит «местоположение».
      • –2
        М-м, вы ничего не путаете? to locate — это да, процесс определения местоположения. А в русском языке слово «локация» давно и прочно стало синонимом местоположения.
        • +4
          А вы загляните в словарь Ожегова или Ефремовой например.
          ЛО
          КА́ЦИЯ, и, мн. нет, ж. [нем. Lokation < лат. locātio размещение]. тех.Определение местонахождения какого-н. объекта по сигналу, испущенному этим объектом или отразившемуся от него.
          

          Это не само местоположение, а процесс его определения.
          Дайте ссылку на подтверждение, что это слово имеет и другое значение?
          Может в русском языке появилось новое значение слову «аппликация», которое не обозначает картинку из склеенных цветных кусочков бумаги/материи?
          • +1
            Извиняюсь, тэгом порезалось слово в цитате, вместо «КАЦИЯ», конечно-же «ЛОКАЦИЯ»
          • –1
            Ладно, не буду спорить.
          • –2
            Простите! Я не прав и впредь это не повториться…
          • 0
            Кроме словарного определения «локации» в старых словарях, есть сленговое, пришедшее из книжных и компьютерных игр, означающее место в общем смысле. Конечно, это не для использования в серьезных статьях, а для Хабра — сойдет.
      • 0
        Локация — это не глагол. Все же это существительное, описывающее процесс. Такое же существительное, как поиск.
  • +2
    По большей части описаны пережитки старых систем (подтверждение ввода e-mail, ограничения на размер фото и тд.), а так же веяния моды (карусели, кнопки соц. сетей), которые существуют либо от нежелания думать, либо от отсутствия внимания к продукту. Ведь, прежде чем что-то перенять с какого-либо сайта, надо сто раз подумать, для чего это сделано, а не брать по принципу «круто — не круто».
  • 0
    Согласен почти со всем, но первый пунк мне кажется лишним. Мне самому удобнее себя проверить и повторить пароль, потому что на важных сервисах они у меня вида «RtN6Jfb91H» и мне самому не хочется промахнуться регистром/символом. Повторение пароля практически полностью исключает все это. Другой вопрос, что не на всех сайтах это нужно. Поэтому я думаю в этих советах главный посыл, не в том, что следует просто отказаться от вышеперечисленного, а думать, когда это нужно, а когда нет. То есть в итоге все сводится к золотому правилу: «Думай тем, что между ушей».
    • +1
      В таких случаях можно делать галочку «показать пароль». Так делает, например MailChimp при логине. Можно и правильность проверить, и два раза набирать не надо.
    • +5
      Ошиблись при вводе пароля => восстановили пароль на почту.
      Да, это займет больше времени конкретно вам, за то сотне тысяч других сэкономит.
      • +4
        Ошиблись при вводе почты?

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

          В общем, это не проблема так же.

          Хотя наверное есть сервис где этоб будет критично.
          • +1
            Ок, пусть буде бронирование не билета, а отеля :)

            Получить бумажное подтверждение на руки или нормально оформленное электронное письмо очень даже полезно, например, для общения с пограничными службами. Тут почта рулит и ошибаться в адресе не стоит.
            • +1
              Пожалуйста, перестаньне распечатывать всё подряд, поберегите деревья!
              И в отеле, и пограничникам достаточно показывать бронь/билет на экране телефона, проверено.
              • +1
                Во-первых, выше я специально упомянул нормально оформленное письмо, предусмотрев такой вариант :)

                Во-вторых, лично я предпочитаю в поездке иметь критично важную информацию на бумажных насителях. Телефоны, планшеты, ноутбуки умеют разряжаться иногда. Но это дело личной предусмотрительности каждого :)
              • 0
                >И в отеле, и пограничникам достаточно показывать бронь/билет на экране телефона, проверено.

                Помимо того, что телефоны имеют свойство разряжаться или просто не выполнять свои функции в самый неподходящий момент, не все устройства способны считывать штрихкод с экрана, по крайней мере, об этом прямо пишут авиакомпании. Еще мне почему-то кажется, что телефоны забывают или воруют несколько чаще, чем вложенные в паспорт бумажки.
                Не знаю как вам, а мне гораздо проще передать распечатку вместе с паспортом, чем махать телефоном перед стеклом, за которым сидит пограничник, или отдавать ему телефон.
        • +1
          Если сделаете <input type="email" name="email"/>, то никто не будет ошибаться, ведь его правильный адрес сам подставится. Ну и потом, пусть после указания адреса работает с заказом авиабилета, но последнюю кнопку можно будет нажать только после подтверждения его, если письмо не пришло, в профиле должна быть возможность отправить еще одно, или поменять адрес. Да, это немного сложный алгоритм, но почему его должен выполнять пользователь (каждый пользователь), а не программист, сделавший один раз этот сайт.
          • 0
            Большинство бронировальных систем позволяют билет купить без регистрации. Соответственно, профиля у пользователя нет.

            Конечно, можно связаться с поддержкой системы, назвать имя, фамилию и как-то восстановить реквизиты рейса (если поддержка пойдет на это), но ввести второй раз адрес почты, наверное, проще :)

            А на счет последней кнопки… ей может быть кнопка Закрыть в заголовке окна браузера или кнопка Power на корпусе устройства :) Не думаю, что люди придадут значение вашей «последней кнопке» если им уже на экране написали, что билет оформлен.
    • +5
      Ну сделать это поле необязательным можно, хочешь проверить себя вводи, если правильно введешь подсветить зелёненьким.

      А меня больше всего бесит в современном интернете то что невозможно нормально скопировать кусочек строки, например на ибэе надо спросить продавца о товаре пытаюсь выделить ItemId:00000001 а вот хрена мне лысого между ItemId и 00000001 половина страницы подсвечивается.
      Или непомню на каком сервисе выделяешь строчку текста, а она в итоге в буфер уходит с овердохрена доп. информации.
      • 0
        Из исходного кода копировать тогда
        • 0
          А вы уверенны что там оно рядом, или там тоже по крупицам собирать прийдется… а еще со всяческими /br /n &нбсп.
          Уже даже руки чешутся написать текстовый редактор типа блокнота что в трее сидел, с кнопочкой на видном месте «Убрать все теги/форматирование/ и прочую фигню»
  • +2
    А что такое first_and_last_warning=on в тексте статьи?
    • +3
      • 0
        Я это уже нагугливал, перед тем как запостить коммент. Связи не увидел.
        • +1
          — Вконтакт спамит распознавателей капчи
          — Пометка расположена в разделе про капчу

          По-моему связь очевидна. Автор как-бы намекает: «Те, кто ставит сложную капчу, будут гореть в DDoS-овом аду».
          • +1
            Скорее говорит, что никакая сложная капча не спасет вас, если вас действительно захотят поломать.
            • 0
              И это тоже верно. :)
    • +1
      это ссылка на историю о том, как вконтакте подло ддосил распознавателей капчи.

      www.pcnews.ru/news/ddos-antigate-com-java-iframe-in-php-first-and-last-warning-on-384807.html
  • +40
    На счет чекбоксов — сейчас много где стали делать такое автосохранение настроек. У меня же это вызывает внутренний дискомфорт, я выставляю настройки и ищу кнопку «сохранить» — а её нет! И я не могу быть уверен до конца, что мои настройки сохранились, потому что я не нажимал на кнопку «сохранить». Это доставляет неудобство.
    • +2
      ну так можно вывести неназойливое сообщение «настройки сохранены» (типа как на хабре если не хватает кармы для голосования)
      • +6
        И на каждый чек бокса такое «неназойливое» сообщение?
        • 0
          Можно не на каждый. Можно по таймауту, сразу несколько сохранять.
          Тут еще конечно от ситуации зависит. Если 3 чекбокса всего, то почему бы и не сделать так?
        • +2
          а почему бы и нет?
          слева или справа от чекбокса пиктограмму 2-х состояний: обновляется, сохранено
        • 0
          А можно как на хабре или гмэйле, всплывающие уведомления в вверху страницы, про то, что действие выполнено или не выполнено
    • +22
      Согласен. AJAX без подтверждения результата это что-то ужасное.

      Можно помещать какой нить спиннер напротив самого чекбокса, который сменится на зелёную галочку как только от сервера придёт ответ об успехе сохранения.
      • 0
        Во, правильно. В качестве примера (многим разработчикам известного) можно указать, что на Гитхабе именно так и сделано.
    • 0
      С одной стороны это несколько напрягает, т.к. до этого всегда надо было подтверждать настройки кнопкой «Сохранить». С другой стороны это действительно часто удобнее и проще. Нужно только перестроиться и начать доверять такой схеме. А разработчикам — позаботиться об обратной связи — иконка, всплывающее окошко, и т.д. Надеюсь всё больше систем будут использовать подобную схему.
      • +1
        Применение настроек без кнопки «Сохранить» — это хорошо, удобно, быстро, прогрессивно. Но делайте тогда кнопку «Вернуть как было до изменения настроек».
        • +3
          Вторая жизнь <input type="reset">?
          • +1
            Совершенно зря забытый элемент формы :)
      • +1
        Иногда нет возможности доверять. Например, низкое качество подключения. Просто не можешь быть уверенным, что настройка уже сохранилась на сервере, ещё в пути или уже «усё пропало». Надеюсь, мне оставят кнопку сохранить. Мне не жалко нажать.
        • 0
          В случае с низким качеством подколлючения важнее, все-таки, получить от сервера какое-то уведомление о получении и сохранении данных. Кнопка важна для самого человека как явный способ инициировать действие и не думать, сделали это за него или нет.

          И в случаях, если операция сильно ресурсоемкая, начинать ее автоматически не круто. Человек не обрадуется внезапно возникшим тормозам.
    • 0
      С одной стороны это несколько напрягает, т.к. до этого всегда надо было подтверждать настройки кнопкой «Сохранить». С другой стороны это действительно часто удобнее и проще. Нужно только перестроиться и начать доверять такой схеме. А разработчикам — позаботиться об обратной связи — иконка, всплывающее окошко, и т.д. Надеюсь всё больше систем будут использовать подобную схему.
    • +1
      У меня же это вызывает внутренний дискомфорт, я выставляю настройки и ищу кнопку «сохранить» — а её нет!

      А это, скорее всего, просто отголоски пользовательского опыта на основе логики работы интерфейса Windows, где изменение настроек принято подтверждать кнопкой «Применить».
      • +9
        Лично у меня это связано с пониманием того, что сеть не гарантирует 100% результата. Я боюсь, что что-то где-то недовыполнится, и в итоге настройка не сохранится.
        • +1
          Вот да, сеть бывает очень разная — кафешный вайфай, неустойчивое 3G, может запрос не прошёл и никаких подтверждений не видно. А если чекбоксы про перевозку патронов? Обязательно нужно подтверждение, можно кнопкой, можно спиннером.
          • 0
            Можно рядом с каждым чекбоксом отображать индикатор ajax-запроса, который однозначно бы показывал процесс применения настроек.
            • 0
              habrahabr.ru/company/luxoft/blog/152967/?#comment_5202031 — типа как я тут и предлагал :)
            • 0
              Всё равно — это больше запросов в секунду, при плохом соединении повышает риск, что что-то не дойдёт.
      • +3
        Это скорее отголоски опыта общения с реальными миром :)

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

        Форма, не требующая подтверждения, не дает человеку возможности почувствовать завершенность своего действия. А заодно не дает возможности почувствовать, что от всего этого можно отказаться. Так что повод для дискомфорта вполне реален.
    • 0
      Можно сделать кнопку «Сохранить», которая на самом деле ничего делать не будет. Так жмякнул, и успокоился.

      Хотя, тогда возникают непонятки, если пользователь захочет не сохранять…

      Где-то было реализовано (не помню где), что при ухода с такой страницы просто выдавался pop-up «Вы уходите со страницы, не сохранив изменения. Хотите их сохранить?»
      • 0
        Такие штуки только раздражают. Уход со страницы (особенно путем закрытия окна браузера) достаточно прочно ассоциируется с отменой всех выполненных на ней действий, а тут вдруг такой запрос… неожиданно, и окно запроса надо закрывать тянуться.
        • 0
          Ну, не согласен. Меня эта штука спасала:
          *) Когда я ненароком нажимал на закрытие вкладки, или «Назад» на своей мышке
          *) Когда я думал, что сайт, всё-таки, сохраняет кнопку через Ajax, а на самом деле на нём где-то была невзрачная кнопка «Сохранить»
          • 0
            1. Хм… тут может и спасти, но пользоваться надо аккуратно. Если спасать надо несколько страниц текста — польза ощутимее дискомфорта от лишних запросов, если спасать пытаться пару флажков — борьба ни за что получается;

            2. Эта проблема решается повышением заметности кнопки Сохранить :)
  • +7
    Меня просто убивают сайты, где после неправильного ввода пароля/капчи надо вводить еще и логин…
  • +21
    Невозможность использовать сервис до валидации email

    Отлично придумано, просто супер. Я беру email-адрес моего врага, захожу на сервис с таким поведением, творю что хочу, размещаю контент сомнительного качества, получаю бан и радуюсь, что разработчики молодцы, позволяют пользоваться системой без валидации email. :)
    • 0
      Наверное имеется в виду что пользоваться сервисом не дают вообще, т.е. захожу я на главную страницу, а там два слова «подтвердите email». Недостаток схемы без подтверждения в том, что оно сложнее в реализации, надо очень тщательно подходить к выбору того что можно делать без активации, а что нет.
      • 0
        1. Я бы даже сказал, что подобное решение подходит далеко не всем сайтам. На сервисах типа доски объявлений функционал очень скромный, поэто делать получится не больше того, что разрешено без регистрации.

        2. Это не самое лучшее решение в принципе. Я зарегестрировался и… меня не отправляю на активацию почты! Я счастлив! Разработчики молодцы! Иду на сайт… и тут такой облом, делать ничего не могу, все равно нужно идти подтверждать мэйл. А мог это сделать сначала и не тратить время на «Вау!» и получение предупреждения что я ограничен в телодвижениях по сайту.
    • +2
      тем более что,
      валидация емаил адреса — это не столько способ регламентации доступа к разделам
      сколько простой барьер для создания мультиаккаунтов.
      Которого достаточно чтобы остановить то большиство
      которым просто лень заводить себе десяток емаил адресов.

      • 0
        Сейчас все более популярнее SMS подтверждение становится. Вот его надо как основной блокиратор мультиакков и использовать.
        • +4
          Всё-таки большая разница — доверять какому-то сайту мейл, или свой реальный телефонный номер.
        • 0
          Да. Получается самая минималистичная регистрация. Нужно ввести только свой мобильник и все! В ответ придет SMS с паролем. Номер мобильника будет являться логином. Очень удобно для тех пользователей кто вечно теряет и логины и пароли. Есть такая категория пользователей, которые в состоянии помнить только свой номер телефона.

          Ну а для эстетов, можно в личном кабинете добавить функцию «смена пароля», и создание дополнительного логина (в дополнение к номеру телефона). Ну, а напоминалка пароля тоже может работать через ввод номера мобильника.
          • +1
            SMS подтверждения может и будут где-то популярными, но не в России.
            С таким количеством sms-мошенников, регистрация с sms отпугнет 90% посетителей сайта.
            • 0
              Зависит от сервиса. Если это уже известный бренд, то вроде посетители не теряются.
              • 0
                После ВК — врядли так сильно отпугнет. А если дать пользователю полазить в «демо» версии сайта до регистрации и везде расписать: для чего требуется подтверждение, пояснить взаимодействие пользователя и портала простой и красочной схемкой, то это может помочь ему успокоить нервы по-поводу: «я ща вобью номер мобилы и меня заспамят потом!»
              • +1
                Ну да, как правило, вебмастера программируют исключительно известные и популярные бренды. А мошенники специально копируют всякие мелкие проекты и всячески маскируются чтобы дать пользователю то, чего он не хочет.
      • 0
        Барьер, который слабо работает в условиях существования 10minutemail, bugmenot и иже с ними. Не знаю, насколько использование этих сервисов распространено, но уверен, что каждый, единожды задумавшийся о нежелании регистрироваться, или необходимости зарегистрировать более одного аккаунта с разными e-mail'ами, натыкался на такие сервисы и умеет ими пользоваться.
        К слову, вчера впервые покупал на aliexpress, уже оплатив покупку я заметил, что на почте помимо письма — подтверждения заказа есть ещё письмо о верификации е-мейла. Думаю, не подтверди его — ничего бы с моим заказом не случилось, и доступ к сайту мне бы не закрыли, а проверяют почту «для галочки», можно ли слать туда рассылки, или нет.
        • 0
          Барьер, который слабо работает в условиях существования 10minutemail, bugmenot и иже с ними

          Может это мне так везет, но все попытки воспользовать, что первым, что вторым натыкались на нерабочесть логинов/паролей с bugmenot и на бан «моментальных» почтовых адресов со стороны формы регистрации, мол «используйте нормальный почтовый ящик».
          • 0
            Пользовался «десятиминутными» ящиками много раз, встречался только с тем, что на них может не прийти письмо для подтверждения регистрации. Если сервис ругается на невалидный адрес электропочты, то скорее всего он «нормальными» считает ограниченный перечень адресов.
    • 0
      Такое случается один раз на миллион регистраций. На реддит.ком нет обязательной валидации и никаких проблем от этого они не испытывают.
  • +2
    Было ли хоть раз, что вы не копировали подтверждение email из первого поля, а набирали его руками?


    Ыы, всегда, если просят подтвердить пароль или емэйл, набираю оба раза руками. Что я делаю не так?
    • +8
      … набираю оба раза руками.
      ;)
    • 0
      Всё так, но проще и пароль и адрес электронной почты вставлять из буфера обмена.
      • +3
        Так, смысл теряется, ведь действительно могу ошибиться.
        • 0
          Т.е. набирая руками полностью не ошибешься, а вставляя из буфера обмена или используя автозаполнение полей в бразуере может быть ошибка?
          • +2
            Я могу ошибиться в наборе пароля, то есть, когда заполняю это поле первый раз. Какая разница, скопирую я эту ошибку или просто пропущу (в том случае, если подтверждение отсутствует)? Никакой.

            Смысл в том, что дважды одинаково ошибиться сложно, а зарегистрироваться с ошибочным паролем — не получится.
        • +1
          Менеджер паролей не ошибается, заодно и криптостойкий пароль сгенерирует.
          • +3
            И что мне с ним делать, этим паролем, если я не с своего компьютера захочу зайти? Вспомнить — нереально, восстанавливать — это заходить на почту, чего не хотелось бы.
            • 0
              Зачем эти сложности с чужим компьютером?… Просто вначале со своего компьютера, а потом со своего же телефона :)
              • +1
                Авторизоваться при помощи телефона? Это же адский ад.
                • 0
                  Это было не предложение по реализации механизма авторизации :)))

                  Я просто предложил простую ситуацию, в которой придется вспоминать пароль — зарегистрировались в системе с десктопа, а потом, через некоторое время, решили зайти в нее с телефона или планшета. Чужой техники нет, все свое, но совсем другое :)
  • +1
    Недавно на каком-то сайте регился, и мне очень понравилось поле ввода пароля с переключателем в виде открытого/закрытого глаза (показывать/скрывать пароль). Очень удобно. Не могу спомнить что за сайт((
    • 0
      в вин 8 уже есть такая штука, скорее всего на майкрософтовских сайтах тоже ввели
  • +2
    А на хабре нынче рекапча. И она ЛУЧШЕ, чем та капча, которая была. Чего я не понимаю? Но все равно — печаль.

    Чтобы написать это — специально вылогинилась… и чуть зашла…
    • +12
      Я вчера разгадал капчу на хабре с 4 раза :-)
      • +1
        та же беда, читаю хабр с 4х разных компов\устройств, периодически разлогинивается где-нибудь, и все приходится мучаться по-новой :)
        • 0
          Привязку к соц.сетям сделали специально раньше рекапчи.
        • 0
          Раз в один-два месяца разлогинивает — где-то настолько кука ставится, плюс время от времени что-то меняют, что авторизация слетает.
          • +1
            Я перестал пользоваться Evernote только потому, что у них авторизация держится неделю, просто надоело логиниться чаще, чем я туда захожу, хотя у меня это автоматизировано, форма заполняется парой щелчков мышью, но это настолько напрягает каждый раз, что сервис не воспринимается дружелюбным.
      • 0
        Я один раз так и не смог разгадать (раз 15 пробовал) и в итоге зашёл на следующий день — повезло с капчей.
        • 0
          Ну слава богу, значит я не даун, или не я один даун :-))))
  • 0
    А можно в принципе отказаться от такой вещи, как регистрация. В век соцсетей достаточно авторизации, да и она подчас избыточна.
    • 0
      Мне кажется к этому идут, но путь этот долог :) К тому же регистрацию свою сделать гораздо проще чем интеграцию с другими сервисами, или вообще отказаться от регистрации. В этом, я думаю, основная причина.
      • 0
        регистрацию свою сделать гораздо проще чем интеграцию с другими сервисами

        Не согласен. Сделать вход через одну социальную сеть проще. Один маленький скриптик и все. Не надо программировать формы регистрации, проверки, валидации, формы логина и т.п. По крайне мере так говорит мой опыт по привязке к ВКонтакте и Facebook.
        • 0
          Ага. И однажды, случайно, реферером DDoS какого-нить сайта будет твой домен. Отличненько)
        • +2
          Ну скриптик должен быть актуальный, а то выкатят новую версию на соц. сети и приехали. Скриптик должен обрабатывать не только успешные комбинации, но и разные ошибки. Ещё синхронизация своих пользователей и удалённых, а если ещё и привязка к нескольким сервисам. Плюс усложняет всё то, что сервис сторонний и его сложнее тестировать. Мне кажется коду надо написать больше чем в случае локальной формы, к тому же если использовать фреймворк, он скорее всего предоставляет удобные средства создания форм, а форма регистрации наверняка будет где-то в туториале.

          В общем, мой опыт, и как я это понимаю, интеграция со сторонними сервисами значительно сложнее :)
          • 0
            Однозначно! И постоянно они меняют API. Работа по правке работающих работавших скриптов — будет всегда.
        • 0
          Столкнулся с такой неприятной штукой:
          На сайте был https, а также кнопоньки разных соц. сеток. В то время, увы, вконтакте ещё не разродился защищённым каналом, и в итоге «https» некрасиво перечёркивалось в строке браузера из-за этого «одного» скриптика. Эта мелочь негативно сказывалась на впечатлениях посетителей.

          Я это к тому, что за кажущейся простотой сидят, порой, неявные и очень странные проблемы.
          • 0
            что за кажущейся простотой сидят, порой, неявные и очень странные проблемы.

            Я бы сказал явные и очень непредсказуемые.
            Аналогия: раздать всем по-гранате и к чеке каждой привязать веревки, противоположные концы которых тянутся к макаке.
            Одно неверное (или умышленно неверное) действие со стороны кода виджета и вы лишитесь аудитории или (что просто недопустимо) попадете в black-list у поисковика…
            • 0
              Согласен.

              Но под неявностью я имел в виду то, что проблему не всегда можно сразу увидеть.
    • +8
      Это у вас век соцсетей, а у нас век защиты персональных данных.
      Почему для регистрации на вашем сервисе я обязан регистрироваться в социальной сети и давать ссылку на свой профиль? То же самое с номерами мобильных телефонов, которые сейчас модно требовать при регистрации. Почему я обязан предоставлять вам эту информацию, если она скорее всего вообще не нужна для работы сервиса? Сейчас часто прикрываются обеспечением безопасности, но «безопасность» не значит «отмена анонимности».
      • +3
        Номера мобильных телефонов необходимы, для того чтобы подписать пользователя на какие-нибудь бесполезные платные сервисы, чтобы с пользователя периодически списывались деньги, а он думал что бесплатно зарегистрировался на полезном ресурсе.
    • +1
      Где-то столкнулся на днях — вход через несколько сетей. Первый раз зашёл через Гугл, второй раз через Твиттер — два разных аккаунта в итоге, которые саппорт не может связать.
      • +1
        «Вот тебе и раз.....»
        (цитата из м/ф-а «Какой чудесный день», ёжик произносит...)
  • +2
    >>Было ли хоть раз, что вы не копировали подтверждение email из первого поля, а набирали его руками?
    Было, когда на хабре регистрировался. :)))
  • +16
    А мне нравится зебра, особенно если она ненавязчивая :)
    • +6
      +1
      грамотно подобранные цвета зебры только радуют глаза
      • +10
        Я всегда думал, что таблицы без зебры нечитаемые, и зебра — хороший тон. Даже не понятно, что могло не понравиться автору. Я скорее ломаю глаза без зебры.
        • 0
          Автор намекает, что вместо зебры лучше сделать видимой каждую строку, просто ее подчеркнув. Пусть строки выделяются двумя цветами, но цвет у контента будет один, а у разделителей другой. Особенно «доставляет удовольствие» видеть форумы PHPBB, где зеброй раскрашены комментарии пользователей, на Хабре комментарии просто разделяются информационной строкой, так гораздо удобнее читать, чем «зебру».
        • +1
          Когда дочитал до этих строк переключился на гмыло — нет, неудобно. На 1920х1080 я трачу несколько секунд на определение какая дата какому письму соответствует, ввиду того что темы писем обычно 2-3 слова. Зебра спасла бы в такой ситуации
  • +1
    Текущий интерфейс твиттера только что приводили в качестве примера на #yac2012
  • +2
    Капча не нужна вообще.
    • 0
      reCapcha в частности решает проблему оцифровки книг. Тот текст, который вы набираете — это фрагменты книг, которые не смогли распознать автоматически. Так что, я не вижу проблемы изредка хоть как-то помогать благому началу.
      • 0
        Для того, чтобы понять, правильный ли вы текст набрали, нужно знать референсное значение. А если система его не знает, то как она поймет, что то, что вы набрали, является именно тем, что нарисовано на картинке?
        • 0
          Система спросит семь разных человек, и в случае совпадения написания у всех примет этот вариант за истинный.
          • 0
            Т.е. мой шанс угадывания уже не 100%. Офигеть юзабилити!
            • +4
              Распознаваемое слово система пропустит любое, вам угадать надо то, которое она уже знает.
              • 0
                Понял, спасибо за разъяснения
        • 0
          Там два слова. То, которое несложно разобрать — это скан из книги, система его не знает. Другое слово, которое можно только отгадать раза с седьмого — это сгенерированная капча, система его знает.
      • 0
        Вы знаете, для меня удовлетворение моих пользователей важнее, чем сканы каких-то там сферических книг в вакууме.
    • 0
      Если хотите, чтобы ваши пользователи общались со спам роботами, то не нужна.
      • 0
        Так и скажите, что вы не знаете других способов защиты от спам-роботов.
        • +1
          Я знаю другие способы, и успешно их применяю, но это работает только на мелких сайтах, пока на них программисты спам-роботов не обращают внимание.
  • +3
    К пункту «Ограничения на поля ввода»: до сих пор многие сайты не разрешают спецсимволы в пароле. Очень сильно бесит. «Пароль должен содержать от 6 до 10 символов и состоять из букв, цифр и подчеркивания». Похоже, эти люди хранят пароли плейнтекстом, а DBA на поле password отвел 10 символов.
    • +1
      Вот тут особенно соглашусь.

      Несколько удивило авторское «приходится сохранять пароль в текстовом файлике на рабочем столе». Разве менеджеры паролей (вроде KeePass) с синхронизацией базы между компьютерами (и её же одновременным бекапом) через тот же DropBox уже не стали стандартом для любого мало-мальски грамотного ITшника, по какой-то причине не желающего использовать онлайн сервисы для хранения паролей?

      Так или иначе я предпочитаю генерировать длинные пароли в 32-64 символа с кучей дополнительных символов и меня очень обескураживает «пароль должен содержать только латинские буквы и цифры и быть не более 12 символов длиной».

      Кроме того вымораживает, что, похоже, разработчики сайтов вообще даже не предполагают, что кто-то может вставить пароль в поле копипастом, а не набирать вручную. Это приводит к тому, что мой длинный пароль незаметно урезается до неизвестного мне значения, что радует меня при следующем логине сообщением о неправильном пароле.
      • 0
        В последнем случае другая ошибка. Разные правила для полей ввода пароля в форме регистрации и в форме входа.
        • +1
          Неявное обрезание пароля это тоже плохо.
          • 0
            Но лучше одинаковое неявное обрезание, чем разное :)
    • +3
      Хорошо ещё, если хоть пишут, какие там ограничения на пароль. А то нормальный пароль не принимают, а что не так — приходится выяснять методом тыка.
  • +4
    Ограничение размера загружаемого аватара — это не экономия места — это во-первых экономия времени загрузки, во-вторых экономия серверного времени и сокета на прием этих мегабайт
    • +1
      Это и ограничение на интеллект пользователя. Если он собирается загружать аватаром фото с цифровика размером 20 Мб — вряд ли там что-то хорошее.
  • +16
    Все правильно, кроме последних двух пунктов. Зебра — чтобы визуально строку видеть. Не нужно говорить, что таблицы ни к чему. Они часто бывают необходимы, и без зебры — никак.

    А размер фотки ограничивают не из-за размера, а чтобы не dosили. Что, если мы сто тысяч фоток начнем грузить отовсюду? Это положит сервис. Потому, даже facebook ограничивает размер.
    • 0
      А в чем проблема сделать пережатие на клиентской стороне средствами браузера и отправлять изображение нужного размера и других параметров?
      • +1
        Может быть, проблема в том, что стороне браузера доверять нельзя?
        • +1
          Нет, это независимый факт, стороне браузера доверять нельзя вне зависимости от того, где пожата фотография.
      • 0
        А как сделать пережатие фоточки в браузере?
  • +8
  • +2
    Ограничения на поля ввода

    рядом с полем «пароль» давно бы пора делать кнопку «Сгенерировать»
    • –5
      А злоумышленник не может сгенерировать пачку паролей, раскопать алгоритм генерирования и подобрать пароль к уже зарегистрированным пользователям?
      • 0
        Эм… Так они ж рендомные пассы генерят)
        • 0
          Почитайте про взлом рнр'шного рандома.
          Т.е. зависит от реализации этого рандома (извиняюсь за тавтологию).
      • 0
        так рандомный алгоритм может прям у вас в браузере выполняться.
        • 0
          какая разница, если он действительно рандомный?
          • 0
            Есть мнение, что компьютер не способен сгенерировать «действительно рандомное» число без специального аппаратного обеспечения.
            • 0
              На некоторые аппаратные генераторы тоже были успешные атаки.
              На самом деле без аппаратных примочек в любой системе есть некоторое количество «качественной энтропии», просто обычно этого недостаточно, и его дополняют псевдослучайной генерацией.
              Для задач генерации паролей энтропии на стороне браузера более чем достаточно — просто потому что ему не надо очень много паролей генерировать, не нужно генерить сессии и т.п.
              Так что правильный генератор на стороне браузера + немного энтропии от сервера, и устойчивость от подбора будет равна сложности пароля.
  • +7
    Я снял себе аватар на цифрозеркалку, которая на выходе дает 15 мегабайт, и теперь чтобы загрузить аватар мне нужно устанавливать редактор или гуглить фотошоп онлайн, и тратить 10 минут чтобы сжимать фотографию по размерам и объему?
    Я полагаю сжатие 15 МБ картинки может печально сказаться на нагрузке сервера, особенно если сервер — слабая VPS за 8$.
    • –3
      Ну если на вашем ресурсе предполагается до 100 загрузок новых аваторок в секунду, то да, это проблема. Но на практике, загрузка аватарки — это редкая операция. К тому же 90% пользователей грузят аватарки небольшого размера.
      • 0
        Почему же небольшого размера? Средний мобильный телефон выдаст «няшную аватарку» на 3-5 Мп — около 05-1 Мб. Если не принять ограничительных мер и не проинструктировать пользователя, то рассчитывать на аватарки меньше чем 500 кб не придется.
        • 0
          Большая часть юзеров вставляют аватарки не напрямую с мобильника или зеркалки, а копируют ее из другого сервиса, где она уже сжата.

          Кстати, сжать картинку в 1Мб, это доли секунды даже на хилом VDS.

          Можно написать на сайте что файл должен быть не больше 100 Кб. Но на практике принимать до 5 Мб. Умные пользователи загрузят маленькие файлы и сэкономят CPU, но при этом мы не потеряем глупых пользователей, которые не умеют пережимать картинки.
          • 0
            Совершенно серьезно — вы располагаете данными исследований или предполагаете о таких источниках появления аватарок?
          • 0
            Отнюдь. Мы потеряем всех, и умных и глупых. Сервер умрёт на время. Ну или сжимать в отдельном процессе с очень низким приоритетом. Но даже в этом случае, я не думаю, что владелец 5 МБ изображения захочет ждать 20-40 секунд для получения своей заветной аватарки.
      • +10
        Для того чтобы создать 3.5 МБ jpeg файл из градиента, Photoshop думал с полминуты. Для создания png файла из этого jpg мне потребовалось… выключить виртуалку вручную, ибо она зависла на несколько минут. Мой ПК: Core2duo 1.8, 3+ГБ ОЗУ, Xubuntu12.04. Для сжатия 3.5 МБ jpeg изображения до 80х80px, мне потребовалось 11 сек. О каких 100 загрузках в секунду вы говорите? Да тут 1 изображене кладёт сервер на обе лопатки. А дешёвые VPS за 8 $, значительно слабее, если это, конечно, не зарубежный XEN, KVM. Т.е. они, я полагаю, будут «думать» с минуту. Если говорить об исходном 15 МБ файле, скорее всего ОЗУ не хватит, кончится через минут 5.

        А теперь добавим к этому простую истину — наиболее слабое место в системе характеризует её в целом. Т.е. это просто идеальное место для DDOS.

        faiwer@faiwer-desktop:~/temp$ time convert 10000.jpg -resize 80x80 new.jpg
        
        real	0m11.354s
        user	0m13.921s
        sys	0m0.928s
        • НЛО прилетело и опубликовало эту надпись здесь
          • НЛО прилетело и опубликовало эту надпись здесь
      • +8
        а 1 злой пользователь заливая аваторку размером в гигабайты может забить канал на сколько ему нужно, ну и место на диске. не забываем что не все пользователи одинаково полезны, есть и злоумышленники со своей задачей.
        • 0
          Разумное ограничение всё же должно быть, вряд-ли у обычных не злых пользователей будет картинка больше 20-30 Мб.
          • 0
            идея в том, что считается не размер сжатой jpeg картинки на диске, а размер распакованного в память компьютера изображения для выполнения обрезки. плюс к этому еще не факт что картинка обрежется как надо. откуда компьютер знает где у вас там голова и как нужно было обрезать картинку?

            попробуйте сохранить изображение в bmp и посмотреть его размер, поймете о чем речь.
        • +1
          Разве хоть какие-то ограничения на стороне сервера мне помешают отправить HTTP-запрос на гигабайт?
          Если я захочу забить канал, я его даже UDP-датаграммами смогу забить, и не стану морочиться с заливкой аватар.
          • +2
            Уровень подготовки другой. Обычное ограничение в 2 МБ в Nginx отсеет Script kiddie =)
      • +1
        Одна аватарка, сожравшая 200 мегов, может съесть оперативку, и система при этом может убить, например, mysql.
        И вдвойне хуже то, что это редкая операция — просто время от времени сервак падает, и никто не знает, почему. И потом ходят легенды про бубны или падения по пятницам.
    • +1
      можно еще попробовать на клиенте сжимать, при возможности
      • +2
        Сжатие 15 МБ файла javascript-ом займёт оооочень долгое время, учитывая однопоточность — вкладка просто умрёт на пару минут. А если это планшет… Просто надо ограничивать размер изображений для загрузки аватар, 1-2 МБ хватит на ближайшие лет 5 наверняка :)
      • 0
        Там Ява нужна, не все ей доверяют, не у всех стоит. Яваскрипт не рассматриваю.
    • +1
      А не проще ли задействовать сторонний сервис, такой как gravatar.com? Вы так и нагрузку на сервер снимите, и некоторый процент пользователей сразу же будет с аватаркой, т.к. уже использовали раньше Граватар :)
      • –1
        Вы это серьёзно? Ну вот я использую gravatar на своём сайте, ибо он посвящён it-тематике, и предполагается, что информация на нём может быть полезна гикам (если бы я там писал чаще чем раз в год :) ). Но большая часть сайтов опирается на массовую аудиторию от домохозяек до водителей фур. О каком gravatar тут может идти речь? )
        • 0
          Ну дык наберитесь смелости, кто захочет таки поменять и с граватаром разберется, тем более можно написать небольшую инструкцию на Вашем сайте :) А еще можно забирать автарку с Вконтакта, например, да и к тому же так и проблему с регистрацией можно снять :) А можно все и скомбинировать, то бишь регистрация своя, но аватарку с вк/одноклассников/something_else забираем и все счастливы :)
        • 0
          Battlelog использует граватар. Всё ок.
        • 0
          Чем граватар лучше, чем OpenID page?
    • 0
      Согласен!
      Особенно, если серверная часть на Java или просто под большой нагрузкой. Хорошо, если серверная часть в очереди кроном пропускает через пакет imagemagic, а если через PHP или ещё что обрезает, это уже плохо.
  • +1
    > Твиттер уже понял это…
    Зато он даже видимо и не задумывался про аватарки, три раза открывал редактор, чтобы сжать до 80х80 и не более 10кб, и то схавал только когда уменьшил до 79х79 хотя размер подходил… видимо до не включая…

    Спасибо за статью.
    • +1
      Извините, перепутал с opennet, и там и там менял аватарку.
      • +1
        Блин, снова не правда, здесь bbs.archlinux.org )
  • +12
    «Зебра» в таблицах действительно помогает читать. Надо только цвета подобрать правильные.

    >> Если у вас используется таблица, скорее всего у вас уже что-то не так. Посмотрите на гигантов: списки давно вытеснили таблицы.

    Не несите чепуху.

    >> Правильно устроенный список читается без визуального разделения строк: посмотрите на gmail.
    Там таблица, кстати.
    • +1
      Видимо имелись ввиду таблицы из 2-3 колонок. Без «зебры» понять что к чему в таблице из 50 столбцов просто нереально.
      • 0
        делать два визуальных представления для двух одинаковых по смыслу блоков информации (таблица на 5 и таблица на 20 строк) — тупизм как с точки зрения сложности кода, так и с точки зрения юзабилити.
        • 0
          Т.е. вы считаете, что если список из 2 строк не надо разбивать на стринцы, то и список из 200 строк тоже не надо?
    • 0
      Достаточно оставить затемнение/засветление фона при наведении на строку
  • +2
    Кнопки социальных сетей

    Вот уже почти три года (с марта 2010) в ЖЖ прикручены 100500 кнопок социалок «поделиться» и они не выбиваются из дизайна потомучто откуда в жж дизайн скрыты в выпадающем меню.
    Ну и чтобы вы думали?
    В блогах тысячников досих пор некоторые просят «приделать внизу кнопочку рассказать друзьям».
    И ведь приделывают. Через жопу, костыли, но приляпывают это бельмо к каждому посту.
  • +4
    Похоже последний пункт про зебру добавлен как «маленькая собачка в углу» у Фаворского. Чтобы остальные пункты не так сильно критиковали
  • +2
    Прямо сейчас проектировал новую форму регистрации. Посмотрел на связку «Логин» -> «Пароль1» -> «Пароль2» и убил последнее…
    • 0
      Я однажды видел админку биллинга, где пароль новому юзеру надо было вводить а) в поля со звездочками, при этом б) полей было два.

      Авторы банально сделали «как всегда», при том, что этот введенный пароль открытым текстом распечатывался в виде документа А4 формата и подкалывался к договору. В сумме биллинг маялся, вписывая вслепую два раза пароль, а через минуту на принтере все видели плоды этих мучений. Конечно, если не было ошибок — иначе форму приходилось заполнять заново.

      Провайдер, кстати, весьма не мелкий :)
  • +1
    Если вы только что ввели пароль, почему нужно снова его вводить чтобы залогиниться?

    Потому что когда кука истечёт, пароль пользователю придётся вспоминать. А в браузере он не будет запомнен. Поэтому либо зарегистрироваться + войти, либо форму регистрации и входа делать одинаковой, чтобы сразу же при регистрации браузер предлагал запомнить пароль.
    • 0
      Форму регистрации нужно делать такой же как и форму авторизации, тогда и запомнить пароль можно будет в браузере.
  • –4
    Зачем вообще обязательная регистрация? Можно же через соцсети :) а регистрацию так — как опцию оставить.
    • +4
      Ага потом юзер забудет, что он входил с твиттера, и зайдет с фейсбука и будет приятно удивлен :)
      Тут даже с обычными email похожая ситуация была, чел завел два аккаунта в разное время, на разные мыла, потом в одном купил лицензию для софтины, через некоторое время зашел через другое мыло, а там естественно ничего не было, и сразу принялся писать, что у него украли лицензию, и даже логи все очистили, чтобы скрыть эту кражу :)
      • 0
        Хорошо если сервис после регистрации предлагает привязать к аккаунту и остальные социалки. Или хотя бы имеет такую возможность.
      • 0
        Ну это решаемая проблема, повторяться не буду, ниже комментарий есть… Можно еще например при регистрации через соцсети попросить пользователя, например, чекбоксами отмечать те соцсети, в которых у него есть аккаунты. В дальнейшем делать соответствующие проверки. Ситуация совпадения на самом деле достаточно уникальна, хотя это и зависит от количества пользователей конкретного сайта. Но и ее можно качественно и быстро «обрабатывать» автоматически.
  • 0
    Очень хорошие замечания. Многое из перечисленного приводит в крайнее раздражение вплоть до: «Да пошли вы в жопу, не нужен мне ваш сайт!»
    • +1
      Возможно, раздражение проявляется по следующим причинам:
      1. Вам и в самом деле не нужен этот сайт :)
      2. Разработчики не вполне адекватно выбрали степень защищенности сервиса.

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

      P.S. А вот хорошая мысль — представить себе, нужен ли сервис праздношатающемуся посетителю и, исходя из этого, степень защищенности выбирать.
      • 0
        Кстати вот, напрашивается отсюда следующая мысль: разработчики должны трезво оценивать важность своего сайта. Допустима ли для их сайта столь высокая степень секьюрной шизофрении? Что их поделие для нас, чтобы там вообще регистрироваться? Может быть входа через социалки более чем достаточно.
        • –1
          Разумеется!
  • +5
    Много где автоматическая установка фокуса в поле ввода мешает. Одно дело — поисковик, где по умолчанию сразу надо вводить текст. А вот захожу я на страницу, где много информации, хочу пролистать вниз — а фиг, pgDown листает не страницу, а текст в поле ввода.
    К счастью, нормальные сайты типа eBay ставят фокус в поиск лишь на главной странице.
  • 0
    > Капча должна быть читаемой.
    Капчи не должно быть вообще. Уже существуют тысячи решений, позволяющих определить бота. Например — ловить движения мышки. И существуют тысячи решений, позволяющих обойти капчу.

    > Невозможность использовать сервис до валидации email
    А зачем вам мой email? Единственная его функция, которую можно одобрить — восстановление пароля. Но даже она не совсем нужна — задайте 3 восстановительных вопроса (да, девичья фамилия матери и т.д.), после чего дайте возможность поменять пароль.
    • +1
      Просто интересуюсь — а решения, которые отлавливают движения мышки не отсеивают планшеты и смартфоны? Ведь там зачастую можно заполнить и отправить форму просто заполнением полей и нажатием «отправить». Насколько я понимаю, все подобные решения имеют ценность для не очень популярных ресурсов, ибо обходяться только в путь при наличии свободного времени на разработку правильного бота. Я не прав?
      • 0
        Я писал выше «и события GUI полей»… Если нажали отправить без onEnter()/onBlur(), то игнорировать отправку.
        • 0
          Я полагаю боты давно используют Selenium или аналог. Не каменный же век на дворе =)
          • 0
            Но различия все равно же есть между Selenium и обычным браузером?
            • 0
              Уверен, что есть. Но исходя из вашего изначального сообщения я сделал вывод, что вы знаете эту самую «тысячу решений» :)
              • 0
                Скажу сразу: на Selenium не тестил и не ставил его.
                onBlur/onEnter — пока хватает.
                Если начнут сильно спамить — будем разбираться с различиями. :)
      • 0
        Ну ловите onKeyPress или что-нибудь подобное — думаю, на планшетах работает. Кстати onClick давно уже работает на планшетах; а без него отправить форму не получится.
        Засекайте скорость набора текста — боты скорее всего будут вставлять текст сразу.
        • +3
          Ок. А что мешает вредителю сабмитить формы игнорируя js-защиту? В любом случае на сервер уходит POST массив данных, в которые злоумышленник может записать всё, что его душе угодно. На все ваши оперативные поправки, он может столь же успешно править свой простенький bash-скрипт. Подключив Selenium или аналог + используя какой-нибудь (xorg|win)-API он может обходить самые хитрые защиты. Т.е. мы снова упираемся в то, что если у вас крупный серьёзный ресурс, то вам нужны либо SMS, либо капча. Я не прав?
          • 0
            Те же поведенческие фильтры, я о них писал на хабре. На примере phpbb 3, после того как вычистил из него горы спама (с включенной капчей), капчу отрубил, и сделал поведенческий фильтр, который вообще незаметен для пользователя. Хотя и до сих пор боты активно заходят на форум, и отправляют POSTы, но они просто игнорируются.
            • 0
              Что за поведенческий фильтр? Не расскажете поподробнее?
              • 0
                А, все, нашел
    • 0
      Некоторые сервисы активно используют почту для связи с пользователями — например, оперативные уведомления от систему управления проектами. Для них проверка корректности ввода почты более чем важна.
    • 0
      > А зачем вам мой email?
      Исторически — защита от ботов.
      • 0
        Чаще всего это уведомления, ведь регистрируются для того, чтобы что-то написать на этом сайте, значит и ответить могут.
    • 0
      Убивать готов за эти идиотские вопросы про фамилию матери и т.п.
  • +1
    > Пусть спокойно создадут себе профиль, не отправляйте им на это время email уведомлений, все остальное прекрасно работает без подтвержденного email. А благодарность пользователя вернется в виде радостного первого впечатления от сервиса.

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

    Другое дело, что заполнить профиль юзеру дать возможность можно и надо, но — до подтверждения и мыла, и номера телефона (да, много «мыл» завести сейчас нетрудно, не говоря про сервисы по использованию «одноразовых» адресов) аккаунт должен быть приватным, т.е. делай внутри что хочешь, но никому своим видом (в т.ч. и ботам поисковиков) не помешаешь.

    Помню, была такая бысплатная почта, вроде zmail.ru, у нее, зачем-то, работал список рассылки allusers@имя-их-домена, и любое отправленное туда письмо получали все-все пользователи. Я завел там ящик (срочно понадобилось, поисковик подсказал их — было это еще до gmail), и закрыл его через неделю, ибо разгребать надоело. Там тоже, уверен, админы думали, что делают удобство, но — не все продумали.

    P.S. Проще, кстати, взять пароль, введенный юзером при регистрации, дописать к нему случайное число от 10 до 99, и прислать этот пароль юзеру на почту. Так и запомнится легко, и посложнее в угадывании будет, и без проверки почты — входа не будет. По мне так честно.
  • +2
    А вот с фокусом в поля ввода на странице вы ошибаетесь. Лично я ненавижу, когда куда-то попадает фокус и я не могу пролистать страницу стрелочками. Это касается автофокуса на полях ввода и flash элементов.
    • 0
      Здесь же говорится про форму регистрации, там нечего крутить стрелочками, в этом случае лучше ставить фокус, чтобы сразу заполнять форму, без лишнего клика мышью.
      • 0
        Честно, не люблю, когда за меня решают, куда мне кликать мышкой. Наверное, это просто старая закалка, но всё же.
  • +9
    У себя на проектах делаю так:

    1. Регистрация по одному полю (email), максимум — по двум (+ФИО). Пароль при этом генерируется автоматически и сбрасывается на почту. Убиваю сразу двух зайцев: минимум данных для регистрации + проверка емейла.

    2. Поле ввода пароля (если просят обязательно делать пароль при регистрации, или при редактировании профиля) — без повторения, с возможностью показать вводимые символы

    3. При ошибках валидации формы пароль не сбрасывается, ибо бесит.

    4. Сжатие картинок происходит на клиенте. Если клиенты хотят грузить на сервер гигабайты фотографий «я и моя сраная кошка» — пусть сами мучаются. Сжимается, кстати, довольно быстро.

    5. Если при создании новой записи требуется одновременно загрузить фотографию, а форма заполнена неверно — фотография все равно загрузится и будет висеть рядом с формой. Технически делается элементарно, не понимаю, почему никто это не делает.

    Вот, вроде простые вещи, но жить становится легче.
    • 0
      А какого рода проекты, если не секрет?
      • 0
        Сайты, мини-crm, всякое такое.
    • +1
      1. т.е. пользователям теперь еще одельный пароль созданный вами (как я понимаю довольно незапоминаемый хэш) запоминать? Плюс пароль лежит в почте, не временный (как при восстановлении) а постоянный. Так как из почты вылогиниваются редко (особенно gmail) то в принципе любой кто подошел к компьютеру, нашел телефон или планшет может узнать пароль. Имхо, постоянный пароль должен быть передан на сервер 1 раз при регистрации и все, больше его нигде (кроме мест куда его захочет положить пользователь) быть не должно в оригинальном виде. Сгенерировать пароль можно, как опцию, с возможностью заменить при регистрации. Генерировать конечно нужно сервером и пересылать на форму. Кстати нигде не видел такого решения, странно.

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

      5. Эх, ну хоть серверное ограничение на размеры этой фотографии стоит?
      • +3
        1. Необязательно. Он всегда может поменять его на любой удобный (если привык делать свой пароль).

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

        Прегенерацию пароля с подстановкой в форму я тоже делал (используя при этом какие-то «умные» алгоритмы, типа согласная-гласная-согласная-.., чтобы читалось), но, в общем, всем пофиг. Не прижилось.

        4. Ну, в общем, мобильные клиенты — немного не моя аудитория, а что, телефон делает 15Мб фотографии? :)

        Быстро — это так, чтобы пользователь не расстроился. Вы хотите свести все к измеримым величинам, но совершенно упускаете из вида психологический аспект. Поверьте, пользователи не сильно расстраиваются, если файл грузится не за пять миллисекунд. Главное показать им, что что-то происходит (в моем случае — прогресс-бар).

        Еще учтем, что время на сжатие файла плюс время на передачу сжатого вполне сравнимо со временем передачи несжатого. Кстати, пережатием флеш-компонент занимается, а не джаваскрипт, как писали выше.

        А вот по процессору и памяти у меня очень жесткая позиция.
        Если они не затратят своё процессорное время — они сожрут моё! Эй, я не хочу, чтобы жрали моё время! :)
        Ну, тут чисто техническая фигня, да. Пользователей-то много, а сервер, в большинстве случаев, один, да еще и на шаред-хостинге. А Вы знаете, что бывает, если превысить лимиты на шаред-хостинге.
        Такие вот вынужденные распределенные вычисления получаются :)

        5. Не всегда. Я могу захотеть, к примеру, дать некоторым пользователям супер-возможности… ну, в общем, не всегда. Зависит от задачи.
        • 0
          1. «доступ в личный кабинет на каком-то там левом сайте — это наименьшая из проблем, вызванных неразлогиненной почтой» — ну это проблемы пользователя, а уведенный аккаунт пользователя на вашем сайте это уже ваша проблема, и ее размер зависит от возможности пользователей на сайте.

          4. «Быстро — это так, чтобы пользователь не расстроился» — ну это скорее был вопрос учли ли вы все платформы и ситуации, чтобы использовать решение ресайзиннга картинок на стороне клиента. Подвесить комп или устройство, одно из худших вещей которые может сделать сайт. Ну и если флеш не поддерживается, все картинку залить не смогут. Андроид и ios выпадают.

          «А Вы знаете, что бывает, если превысить лимиты на шаред-хостинге» — К счастью не знаю. Давно я с ними не возился. У меня немного другие проекты, пользователей много, сервера отдельные, можно и побаловать пользователей процессорным временем :)

          5. Ну если речь про crm идет в основном, тогда ладно, там вряд ли кто-то будет специально класть канал и сервер с помощью картинок. А вот на более публичных сайтах таким добрым быть не стоит, скушать те же лимиты по диску за пару часов можно на хорошем канале, просто анонимно отдавая вам картинки большие минуя ваш клиентский ресайзинг. Пользователь не зарегистрирован, у вас только ip (причем скорее всего прокси), при том что это не ddos (никакого большого количества запросов нет, так потихоньку гигабайтные картинки шлет) хостер и противодосовые защиты его вряд-ли отсекут.
          • 0
            1. Беда в том, что в случае кражи основной почты пользователя у нас так много вариантов остается.

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

            2. Андроид и iOs поддерживают html5, так что всё у них отлично.
            Но, кстати да, пойду-ка помучаю какое-нибудь мобильное устройство. Даже интересно стало. О результатах напишу.

            По поводу процессорного времени, если захотите поржать: вот что будет :)
            • 0
              1. Я не про кражу, тут действительно сделать что-то надежное не замучив пользователя сложно, и проме критичных систем смысла нет. Я про временный доступ. Если пароль на почту не уходит, то максимум что может сделать нехороший человек это восстановить пароль и сменить на свой. Пользователь в почте это увидит и надеюсь примет меры. А вот если пароль просто так лежит в почте, то нехороший человек может взять и пользоватся, и реальный пользователь не узнает об этом пока не станет поздно.

              2. Так флеш-компонент же у вас. Или я неправильно понял?

              Поржал, хотя хостера понять можно, сайтов у него много, а он один. Безопаснее отключить мелкий сайт но спасти сервер, на котором еще пару десятков таких. Этакий простой способ укрытся от ддоса, дать злоумышленнику то что он добивается, пусть успокоится :) и не мучает сервер и канал. Или (что более вероятно) механизм был рассчитан на блокировку сайтов которые жрут не в себя и мешают жить другим, но забыли про ддос и прочие мало зависящие от сайта радости :)

              Другое дело такие вещи должны быть прописаны в договоре и правилах, и пользователи хостера должны знать на чем экономят.
              • 0
                1. Справедливое замечание, но исправляется, к счастью, несложно: просто срок действия пароля ограничить.

                2. Это я неправильно объяснил, потому что не спал ночью :) Graceful degradation, в общем.
    • –1
      Пароль при этом генерируется автоматически и сбрасывается на почту. Убиваю сразу двух зайцев: минимум данных для регистрации + проверка емейла.
      Лучик ненависти (небольшой) в вашу сторону. Я предпочитаю пароли в духе
      8AFk[r:_D?E)"#XatgEm+KM!NVM]`;]kS_VjBBC_[-Gt7B=wr7YaH#P$-}1+`+Sw

      Так как это не требует ни от меня дополнительных расходов (программа генерирует автоматически), ни для вас (всё равно хеш вычислять), но позволяет мне спать чуток спокойнее.

      Своим наивным предположением, что я блондинка, не способная придумать что-то сложнее имя+год рождения вы мало того что меня унижаете, так, что хуже, заставляете менять пароль вручную после регистрации.

      Тогда уж сделайте опцию при регистрации: предложить пользователю ввести пароль вручную или автоматически придумать за него.
  • 0
    соглашусь со многим, но не со всем.
    На самом деле, все зависит от степени конфиденциальности сведений, которые постятся или используются в той или иной системе. Например, в Twitter, используется гораздо меньше конфиденциальной информации, нежели в Facebook. Соответственно, если мне на самом деле, не критично потерять учетку в твитере, то вот посредствам учеток в ВК и в ФБ, многое может уйти за берега, точно так же с электронной почтой. Это ценность личной информации.

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

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

    А так, по сути, я со многим согласен, чисто с позиции, АйТишника, ну не нужны нам большинствоо этих решений, мы и знаем как пароль выбрать и как обезопасить себя, но вот люди, которые за компьютером тупа по серфить или в зуму поиграть, они все же должные через некоторые из фишек пройти. Та же капча, или одобрение дропбокса, они ж не поймут где что нажали, если сохранение будет динамическим, и не смогут назад вернуть, а так они помнят где и че жали.
    Поэтому, в принципе есть актуальность, но есть и минусы предложений. Ну и естественно, таргетинг тех, на кого расчитаны данные формы, все это имеет значение. Все же эти формы придумывали не мы, АйТишники, а психологи и маркетологи.)
    • 0
      Так не нужно хранить 15 Мб аватарку, после загрузки уменьшаешь размер до нужного, а оригинал стираешь.

      Каптча нужна для защиты от роботов, пока еще ничего более лучшего не придумали. Правда лепят их куда ни попадя, ладно если это крупный сервис, который ломают, на мелких сайтах можно на JavaScript простейшую защиту поставить, и ни один автоматический бот не пролезет.
      • 0
        так при все при этом, ава в сорсе базе будет храниться некоторое время. Может на резерве где-то, может прямо в базе, но это дропить надо ручками. а если учесть маниакальное желание некоторых персон менять авы раз в 15 минут, очень быстро может заполниться. Плюс, такая реализация, она идет как раз куда больше в ущерб юзера. Если не ошибаюсь, в том же фейсбук используется сжатие, не полное, но хоть какое-то, и при открытии фотографий, сайт начинает подвисать, если не ошибаюсь, там сжатие при вызове картинки происходит) так что это не выход, а такие ограничения в основном используются на форумах или сайтах всяких игр, где реально в базе места не много, и давать бесконечное кол-во места сложно, а писать код или интегрировать уже готовые плагины, это реально тормоз и на без того тормознутые системы.)

        Ну а по поводу капчи, согласен однозначно. Лично, не лезу на сайты, где натыкана капча по делу и без.)
        • 0
          Если делать по уму, то эта картинка хранится лишь на время ее обработки после отправки в /tmp, ничто не мешает перед обработкой картинки сделать exec('mogrify -resize 100x100 '.$tmp);, и настроить сервер, чтобы мог принимать большие файлы, и пусть меняют аватарки, это не повод перекладывать эту проблему на пользователя.

          Пример этого, звонит друг, и слезно уговаривает сделать ему его фотографию, подходящую под параметры сайта Госуслуг, где: «Фотография должна быть в формате JPEG, соотношение сторон 35 х 45 (при разрешении 300 точек на дюйм это 413 х 531 пиксель), размер не более 300 Кб.», почему бы это не сделать программно по простому алгоритму, чем перекладывать эту непосильную для многих задачу на этих людей, которые не пользуются графическими редакторами.
          • 0
            ну, видимо, в таких случаях кривые руки и нехватка знаний методов реализации мешают. Не берусь спорить и отстаивать, не очень силен в этой области. Чисто технически, мне казалось, что выполнить это гораздо сложнее, на серверной части, чем на клиентской, судя по всему, я заблуждался. спасибо за инфо, плюсанул бы, да пока не могу.
          • 0
            15 МБ изображение сжимается настолько долго, что это немыслимая задача для web-сайта. Ограничение в любом случае должно оставаться.
            • 0
              Немыслимая в каком плане? Недопустимая нагрузка на сервер или недопустимое время ожидания ответа? Второе решается асинхронным сжатием.
              • 0
                Недопустимая нагрузка на сервер + немыслимое время ожидания ответа. Более развёрнуто. Обратите внимание, что речь шла 3.5 МБ файле, а не о 15 МБ.
          • 0
            Тем, что некоторые будут заливать 10-гигапиксельные панорамы раз в минуту, а сервер не резиновый и должен прожевать такое. Даже если ресайзом занимается отдельный сервер, то такая картинка не пройдет незамеченной, к примеру может встать вся очередь картинок.
  • +2
    Работаю сейчас над одним проектом (к сожалению, только как разработчик) — на каждом шагу слышу «да так никто не делает» и «а у них сделано вот так». И всё, это считается конечным аргументом в любом споре…

    p.s. последний пункт в статье — про раскрашивание таблиц — весьма спорный. Например, первый скриншот, с бело-голубой раскраской, очень даже симпатично смотрится. Хотя, на мой взгляд, такая задача решается подсветкой только :hover строки.
  • +4
    Автоматическая установка фокуса в поле ввода — как раз пример того, чего НЕ надо делать. Подобные вещи мешают пользоваться горячими клавишами браузера. Особо тяжёлые случаи — когда даже после того, как вручную уведёшь фокус, нажатие клавиш всё равно переводит курсор в поле поиска и вводит нажатую букву (попробуйте уйти с поля поиска на yahoo.com посредством клавиши Esc, после чего нажмите любую «alphanumeric» клавишу), или когда это происходит при попытке поиска текста на странице (как, например, finance.google.com, решивший, что '/' отныне должна означать поиск в гугле).

    И таблица с чередующимися цветами строк может смотреться вполне, если цвета отличаются лишь на полутон.
  • 0
    С форумным уклоном список получился. Как правило, форумы поднимаются на огромных, неповоротливых движках, и «разработчик» там мало на что влияет.
  • –1
    Нужно проверять пароль в другой раскладке и регистре, ведь не видно же что набираешь, пусть машина потрудится над конвертацией пароля, чем вводить второй раз.

    И вообще можно не заставлять пользователя придумывать пароль, на мыло придет письмо, в котором будет ссылка для входа (и заодно подтверждения адреса), ей можно будет воспользоваться и в будущем, работая с сервисом вообще без пароля, безопасность опять таки выше, длинный хеш код не подберешь перебором, в отличие от простого пароля.
    • 0
      С первым — категорически не согласен.
      Со вторым — за одноразовыми паролями — будущее. Правда, в этом случае, вся безопасность ложиться на ваш e-mail.
      • 0
        Аргументируйте по поводу п.1
        Ведь безопасность от этого не страдает, проверяется всего лишь 3 варианта ввода на основе одного пароля.
        • 0
          Для начала, не 3, а 4. А главное — как вы определите какая у пользователя раскладка?
          • +1
            Ну 4-й вариант (не та раскладка и зажат Caps Lock) можно отбросить, как маловероятный, хотя при желании можно и его. А определять ничего не нужно, исходим из того, что у большинства QWERTY с ЙЦУКЕН, и изначальный пароль набран латиницей в QWERTY, при проверке нужно всего лишь конвертировать й->q, и Q->q, и т.д. Не будет работать у кого Dvorak или еще что, но в этом случае эти редкие пользователи оказываются в обычной ситуации.

            Я это к чему, можно конечно не делать, но такие вот мелочи экономят время пользователей, это же делаешь только один раз, а пользоваться этим будут много раз, даже не замечая, повышая шанс, что пользователь не уйдет, подумав что он забыл свой пароль.
            • –1
              У меня очень частый вариант при работе на чужом компьютере — на своем у меня переключение на инглиш на caps повешено.

              Палка о двух концах — кто-то может уйти из-за того что не поймёт почему заведомо неверный пароль проходит.
      • 0
        Я бы смотрел в сторону OTR алгоритма. Мне кажется за ним будущее для мгновенной авторизации. (ИМХО)
  • +1
    1. Если у чекбоков убрать «сохранить» некоторые юзеры не поймут, что их выбор действительно сохранился.
    2. Размер загружаемых фоток ограничивают не потому что места жалко, а потому что, уменьшать большую фотку — затратно.
    3. В gmail нет зебры потому что фон строки меняется в зависимости от состояния письма.
    • 0
      На Хабре первый пункт решили вполне доступно.
  • 0
    ИМХО, для многих сервисов вполе уместен был бы алгоритм одноразовых паролей, отправляемых на e-mail. Выгода в этом случае:
    "+++"
    1. При регистрации достаточно указать только e-mail
    2. Нет необходимости запоминать миллион разносложных паролей для кучи сервисов.
    3. Достаточно иметь один надежный пароль от постового аккаунта.
    4. Высокая надежность, так как для каждого нового входа генерируется новый пароль.

    "- — -"
    1. Постоянно надо входить в почтовый аккаунт.
    2. Безопасность многих сервисов будет определяться безопасностью почтового аккаунта.
  • +1
    Знаете что меня доводит до белого коления? Это невозможность залогиниться через e-mail. Да, просто вводишь e-mail, тебе на почту приходит одноразовая ссылка, кликаешь и вуаля — ты на сайте. На кой черт людям пароли, когда они их не собираются запоминать?
    • 0
      Написал комментарием выше об этом.

      Идеально, на мой взгляд, сделали на Сландо. Так ненавязчиво втягивают в сервис.